barseghyanartur / django-elasticsearch-dsl-drf

Integrate Elasticsearch DSL with Django REST framework.
https://pypi.python.org/pypi/django-elasticsearch-dsl-drf
370 stars 119 forks source link

distutils Version classes are deprecated #303

Open pannkotsky opened 1 year ago

pannkotsky commented 1 year ago

Describe the bug Running app with deprecation warnings enabled produces: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.

Environment

Python environment:

  1. pip list
    Package                            Version
    ---------------------------------- -----------
    aiohttp                            3.8.3
    aiosignal                          1.3.1
    amqp                               5.1.1
    aniso8601                          9.0.1
    ansible                            6.3.0
    ansible-core                       2.13.6
    anyio                              3.6.2
    appnope                            0.1.3
    argon2-cffi                        21.3.0
    argon2-cffi-bindings               21.2.0
    arrow                              0.13.0
    asgiref                            3.5.2
    asttokens                          2.1.0
    async-timeout                      4.0.2
    attrs                              22.1.0
    autopep8                           1.6.0
    Babel                              2.11.0
    backcall                           0.2.0
    backoff                            1.10.0
    beautifulsoup4                     4.9.3
    behave                             1.2.6
    billiard                           3.6.4.0
    black                              22.10.0
    bleach                             5.0.1
    boto                               2.49.0
    boto3                              1.26.7
    botocore                           1.29.7
    bytecode                           0.13.0
    cachetools                         4.2.4
    celery                             5.2.7
    celery-singleton                   0.3.1
    certifi                            2022.9.24
    cffi                               1.15.1
    cfgv                               3.3.1
    chardet                            5.0.0
    charset-normalizer                 2.1.1
    click                              8.1.3
    click-didyoumean                   0.3.0
    click-plugins                      1.1.1
    click-repl                         0.2.0
    coverage                           6.5.0
    cryptography                       38.0.3
    cssselect                          1.2.0
    cssutils                           2.6.0
    ddsketch                           2.0.4
    ddtrace                            1.4.5
    debugpy                            1.6.3
    decorator                          5.1.1
    defusedxml                         0.7.1
    deptry                             0.6.6
    distlib                            0.3.6
    dj-database-url                    0.4.2
    dj-redis-url                       0.1.4
    Django                             3.2.16
    django-admin-autocomplete-filter   0.7.1
    django-admin-list-filter-dropdown  1.0.3
    django-admin-rangefilter           0.9.0
    django-admin-sortable2             1.0.2
    django-allauth                     0.51.0
    django-celery-beat                 2.2.1
    django-cors-headers                3.4.0
    django-cuser                       2017.3.16
    django-debug-toolbar               3.7.0
    django-dirtyfields                 1.4.1
    django-elasticsearch-debug-toolbar 3.0.2
    django-elasticsearch-dsl           7.2.2
    django-elasticsearch-dsl-drf       0.22.5
    django-environ                     0.4.5
    django-extensions                  3.2.1
    django-filter                      22.1
    django-graphiql-debug-toolbar      0.2.0
    django-ipware                      3.0.1
    django-json-widget                 1.1.1
    django-link-shortener              0.5
    django-loginas                     0.3.11
    django-ltree                       0.5.2
    django-middleware-global-request   0.2.0
    django-money                       3.0.0
    django-nine                        0.2.5
    django-pgconnection                1.0.3
    django-pgtrigger                   2.5.1
    django-polymorphic                 3.0.0
    django-redis-cache                 2.1.1
    django-resized                     0.3.11
    django-saml-sp                     0.6.1
    django-sesame                      1.7
    django-silk                        5.0.2
    django-simple-history              3.1.1
    django-storages                    1.10
    django-timezone-field              4.2.3
    djangorestframework                3.14.0
    djangorestframework-camel-case     1.3.0
    dnspython                          1.16.0
    drf-nested-routers                 0.93.4
    drf-writable-nested                0.7.0
    elasticsearch                      7.17.7
    elasticsearch-dsl                  7.4.0
    entrypoints                        0.4
    et-xmlfile                         1.1.0
    eventlet                           0.30.2
    exceptiongroup                     1.0.4
    execnet                            1.9.0
    executing                          1.2.0
    factory-boy                        3.2.1
    Faker                              15.3.3
    fastjsonschema                     2.16.2
    filelock                           3.8.0
    flake8                             6.0.0
    flake8-isort                       5.0.3
    flower                             1.2.0
    frozenlist                         1.3.3
    future                             0.18.2
    google-api-core                    1.26.2
    google-api-python-client           2.39.0
    google-auth                        1.28.0
    google-auth-httplib2               0.1.0
    google-auth-oauthlib               0.5.3
    google-cloud                       0.34.0
    google-cloud-core                  1.6.0
    google-crc32c                      1.1.2
    google-resumable-media             1.2.0
    googleapis-common-protos           1.53.0
    gprof2dot                          2022.7.29
    graphene                           3.1.1
    graphene-django                    3.0.0
    graphene-django-optimizer          0.9.1
    graphene-field-permission          1.1.0
    graphql-core                       3.1.7
    graphql-relay                      3.1.5
    greenlet                           2.0.1
    grpcio                             1.41.0
    gunicorn                           20.0.4
    http-ece                           1.1.0
    httplib2                           0.21.0
    humanize                           4.4.0
    identify                           2.5.8
    idna                               3.4
    importlib-metadata                 5.0.0
    inflection                         0.5.1
    iniconfig                          1.1.1
    ipdb                               0.13.9
    ipykernel                          6.17.1
    ipython                            8.7.0
    ipython-genutils                   0.2.0
    ipywidgets                         8.0.2
    isodate                            0.6.1
    isort                              5.10.1
    jdcal                              1.4.1
    jedi                               0.18.2
    Jinja2                             3.1.2
    jmespath                           1.0.1
    jsonschema                         4.17.0
    jupyter                            1.0.0
    jupyter_client                     7.4.5
    jupyter-console                    6.4.4
    jupyter_core                       5.0.0
    jupyter-server                     1.23.3
    jupyterlab-pygments                0.2.2
    jupyterlab-widgets                 3.0.3
    kombu                              5.2.4
    lxml                               4.6.5
    markdown2                          2.3.7
    MarkupSafe                         2.1.1
    matplotlib-inline                  0.1.6
    mccabe                             0.7.0
    mistune                            2.0.4
    monotonic                          1.6
    multidict                          6.0.2
    mypy-extensions                    0.4.3
    nbclassic                          0.4.8
    nbclient                           0.7.0
    nbconvert                          7.2.4
    nbformat                           5.7.0
    ndg-httpsclient                    0.5.1
    nest-asyncio                       1.5.6
    nodeenv                            1.7.0
    notebook                           6.5.2
    notebook_shim                      0.2.2
    numpy                              1.22.3
    oauthlib                           3.2.2
    openpyxl                           3.0.0
    packaging                          21.3
    pandas                             1.3.2
    pandocfilters                      1.5.0
    parameterized                      0.8.1
    parse                              1.19.0
    parse-type                         0.6.0
    parso                              0.8.3
    pathspec                           0.10.1
    pexpect                            4.8.0
    pickleshare                        0.7.5
    Pillow                             9.0.1
    pip                                22.3.1
    platformdirs                       2.5.3
    pluggy                             1.0.0
    posthog                            2.1.2
    pre-commit                         2.20.0
    premailer                          3.2.0
    prometheus-client                  0.15.0
    promise                            2.3
    prompt-toolkit                     3.0.32
    protobuf                           4.21.9
    psutil                             5.9.4
    psycopg2                           2.9.1
    ptyprocess                         0.7.0
    pure-eval                          0.2.2
    pusher                             2.0.1
    py                                 1.11.0
    py-moneyed                         2.0
    py-vapid                           1.8.2
    pyasn1                             0.4.8
    pyasn1-modules                     0.2.8
    pycodestyle                        2.10.0
    pycparser                          2.21
    pyflakes                           3.0.1
    Pygments                           2.13.0
    PyJWT                              2.6.0
    pyOpenSSL                          22.1.0
    pyparsing                          3.0.9
    pyrsistent                         0.19.2
    pytest                             7.2.0
    pytest-cov                         4.0.0
    pytest-django                      4.5.2
    pytest-forked                      1.4.0
    pytest-xdist                       3.0.2
    python-crontab                     2.6.0
    python-dateutil                    2.8.2
    python-intercom                    3.1.0
    python-magic                       0.4.24
    python3-openid                     3.2.0
    python3-saml                       1.14.0
    pytz                               2021.3
    pywebpush                          1.14.0
    PyYAML                             6.0
    pyzmq                              24.0.1
    qtconsole                          5.4.0
    QtPy                               2.3.0
    redis                              3.4.1
    remote-pdb                         2.1.0
    requests                           2.28.1
    requests-oauthlib                  1.3.1
    resolvelib                         0.8.1
    rsa                                4.9
    s3transfer                         0.6.0
    Send2Trash                         1.8.0
    sentry-sdk                         0.9.0
    setuptools                         65.5.0
    shortuuid                          0.5.0
    simplejson                         3.17.6
    six                                1.16.0
    slack-sdk                          3.2.0
    sniffio                            1.3.0
    soupsieve                          2.3.2.post1
    sqlparse                           0.4.3
    stack-data                         0.6.0
    stripe                             3.5.0
    teamcity-messages                  1.32
    tenacity                           8.1.0
    terminado                          0.17.0
    text-unidecode                     1.3
    tinycss2                           1.2.1
    toml                               0.10.2
    tomli                              2.0.1
    toolz                              0.9.0
    tornado                            6.2
    tqdm                               4.29.1
    traitlets                          5.5.0
    typing_extensions                  4.4.0
    uritemplate                        4.1.1
    urllib3                            1.26.12
    vine                               5.0.0
    virtualenv                         20.16.6
    watchdog                           2.1.9
    wcwidth                            0.2.5
    webencodings                       0.5.1
    websocket-client                   1.4.2
    wheel                              0.37.1
    widgetsnbextension                 4.0.3
    xmlsec                             1.3.13
    yarl                               1.8.1
    zipp                               3.10.0
  2. python --version Python 3.9.6

Which version of Elasticsearch are you using? 7.17.0

To Reproduce Steps to reproduce the behavior:

  1. Run Django dev server with PYTHONWARNINGS=always environment variable.
  2. See warnings in console.

Expected behavior No deprecation warnings.

Same also applies to django_nine package, let me know if should open a separate issue there too.

barseghyanartur commented 1 year ago

Thanks for the shout-out. I will certainly fix the deprecation warnings in the nearest future. No need to open another issue for django-nine.