From 26ee4e1662e438fea6790cdfbf62ee25b3b6f87f Mon Sep 17 00:00:00 2001 From: Usama Sadiq Date: Thu, 21 Mar 2024 21:45:46 +0500 Subject: [PATCH] feat: add python312 support feat: add python 311 support --- .github/workflows/ci.yml | 6 +- CHANGELOG.rst | 7 ++ edx_event_bus_kafka/__init__.py | 2 +- edx_event_bus_kafka/internal/consumer.py | 6 +- edx_event_bus_kafka/internal/producer.py | 2 +- .../management/commands/produce_event.py | 2 +- requirements/base.txt | 20 ++--- requirements/ci.txt | 8 +- requirements/constraints.txt | 3 + requirements/dev.txt | 78 ++++++++----------- requirements/doc.txt | 58 +++++++------- requirements/pip-tools.txt | 16 ++-- requirements/pip.txt | 4 +- requirements/quality.txt | 61 +++++++-------- requirements/test.txt | 29 +++---- setup.py | 3 +- tox.ini | 8 +- 17 files changed, 152 insertions(+), 161 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b6e266db..39c2a0e1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,8 +15,8 @@ jobs: strategy: matrix: os: [ubuntu-20.04] - python-version: ['3.8'] - toxenv: [quality, docs, pii_check, django32, django40] + python-version: ['3.8', '3.11'] + toxenv: [quality, docs, pii_check, django42] steps: - uses: actions/checkout@v4 @@ -37,7 +37,7 @@ jobs: run: tox - name: Run coverage - if: matrix.python-version == '3.8' && matrix.toxenv == 'django32' + if: matrix.python-version == '3.8' && matrix.toxenv == 'django42' uses: codecov/codecov-action@v3 with: flags: unittests diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 3c9fd16d..5100bad0 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -14,6 +14,13 @@ Change Log Unreleased ********** +[5.7.0] - 2024-03-22 +******************** +Changed +======= +* Dropped Support for Django 3.2, Django 4.0 and Django 4.1 +* Added Support for Python 3.12 + [5.6.0] - 2024-01-25 ******************** Changed diff --git a/edx_event_bus_kafka/__init__.py b/edx_event_bus_kafka/__init__.py index 256c6965..406c57ae 100644 --- a/edx_event_bus_kafka/__init__.py +++ b/edx_event_bus_kafka/__init__.py @@ -9,4 +9,4 @@ from edx_event_bus_kafka.internal.consumer import KafkaEventConsumer from edx_event_bus_kafka.internal.producer import KafkaEventProducer, create_producer -__version__ = '5.6.0' +__version__ = '5.7.0' diff --git a/edx_event_bus_kafka/internal/consumer.py b/edx_event_bus_kafka/internal/consumer.py index 50c963f9..6bd4a511 100644 --- a/edx_event_bus_kafka/internal/consumer.py +++ b/edx_event_bus_kafka/internal/consumer.py @@ -315,7 +315,7 @@ def _consume_indefinitely(self): consecutive_errors = 0 self._add_message_monitoring(run_context=run_context, message=msg) - except Exception as e: # pylint: disable=broad-except + except Exception as e: consecutive_errors += 1 self.record_event_consuming_error(run_context, e, msg) # Kill the infinite loop if the error is fatal for the consumer @@ -515,7 +515,7 @@ def _log_message_received(self, msg): f'offset={msg.offset()}, message_id={message_id}, key={msg.key()}, ' f'event_timestamp_ms={timestamp_info}' ) - except Exception as e: # pragma: no cover pylint: disable=broad-except + except Exception as e: # pragma: no cover # Use this to fix any bugs in what should be benign logging code set_custom_attribute('kafka_logging_error', repr(e)) @@ -603,7 +603,7 @@ def _add_message_monitoring(self, run_context, message, error=None): # .. custom_attribute_description: Boolean describing if the error is retriable. set_custom_attribute('kafka_error_retriable', kafka_error.retriable()) - except Exception as e: # pragma: no cover pylint: disable=broad-except + except Exception as e: # pragma: no cover # Use this to fix any bugs in what should be benign monitoring code set_custom_attribute('kafka_monitoring_error', repr(e)) diff --git a/edx_event_bus_kafka/internal/producer.py b/edx_event_bus_kafka/internal/producer.py index 499bfd92..37d36416 100644 --- a/edx_event_bus_kafka/internal/producer.py +++ b/edx_event_bus_kafka/internal/producer.py @@ -316,7 +316,7 @@ def send( # would never get a delivery callback. That's why there's also a thread calling # poll(0) on a regular interval (see `poll_indefinitely`). self.producer.poll(0) - except Exception as e: # pylint: disable=broad-except + except Exception as e: # Errors caused by the produce call should be handled by the on_delivery callback. # Here we might expect serialization errors, or any errors from preparing to produce. record_producing_error(e, context) diff --git a/edx_event_bus_kafka/management/commands/produce_event.py b/edx_event_bus_kafka/management/commands/produce_event.py index 68c66d51..dde8b6f3 100644 --- a/edx_event_bus_kafka/management/commands/produce_event.py +++ b/edx_event_bus_kafka/management/commands/produce_event.py @@ -64,5 +64,5 @@ def handle(self, *args, **options): event_metadata=EventsMetadata(event_type=event_type), ) producer.prepare_for_shutdown() # otherwise command may exit before delivery is complete - except Exception: # pylint: disable=broad-except + except Exception: logger.exception("Error producing Kafka event") diff --git a/requirements/base.txt b/requirements/base.txt index 7481fa11..1fa172df 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -4,19 +4,23 @@ # # make upgrade # -asgiref==3.7.2 +asgiref==3.8.0 # via django attrs==23.2.0 # via openedx-events +backports-zoneinfo==0.2.1 ; python_version < "3.9" + # via + # -c requirements/constraints.txt + # django cffi==1.16.0 # via pynacl click==8.1.7 # via # code-annotations # edx-django-utils -code-annotations==1.6.0 +code-annotations==1.7.0 # via edx-toggles -django==3.2.24 +django==4.2.11 # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/base.in @@ -33,7 +37,7 @@ django-waffle==4.1.0 # via # edx-django-utils # edx-toggles -edx-django-utils==5.10.1 +edx-django-utils==5.11.0 # via # -r requirements/base.in # edx-toggles @@ -48,7 +52,7 @@ jinja2==3.1.3 # via code-annotations markupsafe==2.1.5 # via jinja2 -newrelic==9.6.0 +newrelic==9.7.1 # via edx-django-utils openedx-events==9.5.2 # via -r requirements/base.in @@ -64,20 +68,18 @@ pynacl==1.5.0 # via edx-django-utils python-slugify==8.0.4 # via code-annotations -pytz==2024.1 - # via django pyyaml==6.0.1 # via code-annotations sqlparse==0.4.4 # via django -stevedore==5.1.0 +stevedore==5.2.0 # via # code-annotations # edx-django-utils # edx-opaque-keys text-unidecode==1.3 # via python-slugify -typing-extensions==4.9.0 +typing-extensions==4.10.0 # via # asgiref # edx-opaque-keys diff --git a/requirements/ci.txt b/requirements/ci.txt index bd57292b..9f335db1 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -4,7 +4,7 @@ # # make upgrade # -cachetools==5.3.2 +cachetools==5.3.3 # via tox chardet==5.2.0 # via tox @@ -16,7 +16,7 @@ filelock==3.13.1 # via # tox # virtualenv -packaging==23.2 +packaging==24.0 # via # pyproject-api # tox @@ -32,7 +32,7 @@ tomli==2.0.1 # via # pyproject-api # tox -tox==4.13.0 +tox==4.14.1 # via -r requirements/ci.in -virtualenv==20.25.0 +virtualenv==20.25.1 # via tox diff --git a/requirements/constraints.txt b/requirements/constraints.txt index d91704bb..6e52e828 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -10,3 +10,6 @@ # Common constraints for edx repos -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt + +# For python greater than or equal to 3.9 backports.zoneinfo causing failures +backports.zoneinfo; python_version<'3.9' diff --git a/requirements/dev.txt b/requirements/dev.txt index 49495c19..bfe6579b 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -4,11 +4,11 @@ # # make upgrade # -asgiref==3.7.2 +asgiref==3.8.0 # via # -r requirements/quality.txt # django -astroid==3.0.3 +astroid==3.1.0 # via # -r requirements/quality.txt # pylint @@ -21,11 +21,16 @@ avro==1.11.3 # via # -r requirements/quality.txt # confluent-kafka -build==1.0.3 +backports-zoneinfo==0.2.1 ; python_version < "3.9" + # via + # -c requirements/constraints.txt + # -r requirements/quality.txt + # django +build==1.1.1 # via # -r requirements/pip-tools.txt # pip-tools -cachetools==5.3.2 +cachetools==5.3.3 # via # -r requirements/ci.txt # tox @@ -36,7 +41,6 @@ certifi==2024.2.2 cffi==1.16.0 # via # -r requirements/quality.txt - # cryptography # pynacl chardet==5.2.0 # via @@ -60,7 +64,7 @@ click-log==0.4.0 # via # -r requirements/quality.txt # edx-lint -code-annotations==1.6.0 +code-annotations==1.7.0 # via # -r requirements/quality.txt # edx-lint @@ -71,15 +75,11 @@ colorama==0.4.6 # tox confluent-kafka[avro,schema-registry]==2.3.0 # via -r requirements/quality.txt -coverage[toml]==7.4.1 +coverage[toml]==7.4.4 # via # -r requirements/quality.txt # pytest-cov -cryptography==42.0.3 - # via - # -r requirements/quality.txt - # secretstorage -ddt==1.7.1 +ddt==1.7.2 # via -r requirements/quality.txt diff-cover==8.0.3 # via -r requirements/dev.in @@ -91,7 +91,7 @@ distlib==0.3.8 # via # -r requirements/ci.txt # virtualenv -django==3.2.24 +django==4.2.11 # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/quality.txt @@ -115,7 +115,7 @@ docutils==0.20.1 # via # -r requirements/quality.txt # readme-renderer -edx-django-utils==5.10.1 +edx-django-utils==5.11.0 # via # -r requirements/quality.txt # edx-toggles @@ -148,14 +148,15 @@ idna==3.6 # via # -r requirements/quality.txt # requests -importlib-metadata==7.0.1 +importlib-metadata==6.11.0 # via + # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/pip-tools.txt # -r requirements/quality.txt # build # keyring # twine -importlib-resources==6.1.1 +importlib-resources==6.4.0 # via # -r requirements/quality.txt # keyring @@ -171,17 +172,12 @@ jaraco-classes==3.3.1 # via # -r requirements/quality.txt # keyring -jeepney==0.8.0 - # via - # -r requirements/quality.txt - # keyring - # secretstorage jinja2==3.1.3 # via # -r requirements/quality.txt # code-annotations # diff-cover -keyring==24.3.0 +keyring==24.3.1 # via # -r requirements/quality.txt # twine @@ -207,7 +203,7 @@ more-itertools==10.2.0 # via # -r requirements/quality.txt # jaraco-classes -newrelic==9.6.0 +newrelic==9.7.1 # via # -r requirements/quality.txt # edx-django-utils @@ -217,7 +213,7 @@ nh3==0.2.15 # readme-renderer openedx-events==9.5.2 # via -r requirements/quality.txt -packaging==23.2 +packaging==24.0 # via # -r requirements/ci.txt # -r requirements/pip-tools.txt @@ -232,9 +228,9 @@ pbr==6.0.0 # via # -r requirements/quality.txt # stevedore -pip-tools==7.4.0 +pip-tools==7.4.1 # via -r requirements/pip-tools.txt -pkginfo==1.9.6 +pkginfo==1.10.0 # via # -r requirements/quality.txt # twine @@ -272,7 +268,7 @@ pygments==2.17.2 # diff-cover # readme-renderer # rich -pylint==3.0.3 +pylint==3.1.0 # via # -r requirements/quality.txt # edx-lint @@ -309,7 +305,7 @@ pyproject-hooks==1.0.0 # -r requirements/pip-tools.txt # build # pip-tools -pytest==8.0.1 +pytest==8.1.1 # via # -r requirements/quality.txt # pytest-cov @@ -322,16 +318,12 @@ python-slugify==8.0.4 # via # -r requirements/quality.txt # code-annotations -pytz==2024.1 - # via - # -r requirements/quality.txt - # django pyyaml==6.0.1 # via # -r requirements/quality.txt # code-annotations # edx-i18n-tools -readme-renderer==42.0 +readme-renderer==43.0 # via # -r requirements/quality.txt # twine @@ -349,14 +341,10 @@ rfc3986==2.0.0 # via # -r requirements/quality.txt # twine -rich==13.7.0 +rich==13.7.1 # via # -r requirements/quality.txt # twine -secretstorage==3.3.3 - # via - # -r requirements/quality.txt - # keyring six==1.16.0 # via # -r requirements/quality.txt @@ -369,7 +357,7 @@ sqlparse==0.4.4 # via # -r requirements/quality.txt # django -stevedore==5.1.0 +stevedore==5.2.0 # via # -r requirements/quality.txt # code-annotations @@ -392,15 +380,15 @@ tomli==2.0.1 # pyproject-hooks # pytest # tox -tomlkit==0.12.3 +tomlkit==0.12.4 # via # -r requirements/quality.txt # pylint -tox==4.13.0 +tox==4.14.1 # via -r requirements/ci.txt twine==5.0.0 # via -r requirements/quality.txt -typing-extensions==4.9.0 +typing-extensions==4.10.0 # via # -r requirements/quality.txt # asgiref @@ -413,15 +401,15 @@ urllib3==2.2.1 # -r requirements/quality.txt # requests # twine -virtualenv==20.25.0 +virtualenv==20.25.1 # via # -r requirements/ci.txt # tox -wheel==0.42.0 +wheel==0.43.0 # via # -r requirements/pip-tools.txt # pip-tools -zipp==3.17.0 +zipp==3.18.1 # via # -r requirements/pip-tools.txt # -r requirements/quality.txt diff --git a/requirements/doc.txt b/requirements/doc.txt index a75a9916..6b4ba045 100644 --- a/requirements/doc.txt +++ b/requirements/doc.txt @@ -8,7 +8,7 @@ accessible-pygments==0.0.4 # via pydata-sphinx-theme alabaster==0.7.13 # via sphinx -asgiref==3.7.2 +asgiref==3.8.0 # via # -r requirements/test.txt # django @@ -24,9 +24,14 @@ babel==2.14.0 # via # pydata-sphinx-theme # sphinx +backports-zoneinfo==0.2.1 ; python_version < "3.9" + # via + # -c requirements/constraints.txt + # -r requirements/test.txt + # django beautifulsoup4==4.12.3 # via pydata-sphinx-theme -build==1.0.3 +build==1.1.1 # via -r requirements/doc.in certifi==2024.2.2 # via @@ -35,7 +40,6 @@ certifi==2024.2.2 cffi==1.16.0 # via # -r requirements/test.txt - # cryptography # pynacl charset-normalizer==3.3.2 # via @@ -46,21 +50,19 @@ click==8.1.7 # -r requirements/test.txt # code-annotations # edx-django-utils -code-annotations==1.6.0 +code-annotations==1.7.0 # via # -r requirements/test.txt # edx-toggles confluent-kafka[avro,schema-registry]==2.3.0 # via -r requirements/test.txt -coverage[toml]==7.4.1 +coverage[toml]==7.4.4 # via # -r requirements/test.txt # pytest-cov -cryptography==42.0.3 - # via secretstorage -ddt==1.7.1 +ddt==1.7.2 # via -r requirements/test.txt -django==3.2.24 +django==4.2.11 # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/test.txt @@ -88,7 +90,7 @@ docutils==0.19 # readme-renderer # restructuredtext-lint # sphinx -edx-django-utils==5.10.1 +edx-django-utils==5.11.0 # via # -r requirements/test.txt # edx-toggles @@ -114,13 +116,14 @@ idna==3.6 # requests imagesize==1.4.1 # via sphinx -importlib-metadata==7.0.1 +importlib-metadata==6.11.0 # via + # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # build # keyring # sphinx # twine -importlib-resources==6.1.1 +importlib-resources==6.4.0 # via keyring iniconfig==2.0.0 # via @@ -128,16 +131,12 @@ iniconfig==2.0.0 # pytest jaraco-classes==3.3.1 # via keyring -jeepney==0.8.0 - # via - # keyring - # secretstorage jinja2==3.1.3 # via # -r requirements/test.txt # code-annotations # sphinx -keyring==24.3.0 +keyring==24.3.1 # via twine markdown-it-py==3.0.0 # via rich @@ -149,7 +148,7 @@ mdurl==0.1.2 # via markdown-it-py more-itertools==10.2.0 # via jaraco-classes -newrelic==9.6.0 +newrelic==9.7.1 # via # -r requirements/test.txt # edx-django-utils @@ -157,7 +156,7 @@ nh3==0.2.15 # via readme-renderer openedx-events==9.5.2 # via -r requirements/test.txt -packaging==23.2 +packaging==24.0 # via # -r requirements/test.txt # build @@ -168,7 +167,7 @@ pbr==6.0.0 # via # -r requirements/test.txt # stevedore -pkginfo==1.9.6 +pkginfo==1.10.0 # via twine pluggy==1.4.0 # via @@ -202,7 +201,7 @@ pynacl==1.5.0 # edx-django-utils pyproject-hooks==1.0.0 # via build -pytest==8.0.1 +pytest==8.1.1 # via # -r requirements/test.txt # pytest-cov @@ -216,15 +215,12 @@ python-slugify==8.0.4 # -r requirements/test.txt # code-annotations pytz==2024.1 - # via - # -r requirements/test.txt - # babel - # django + # via babel pyyaml==6.0.1 # via # -r requirements/test.txt # code-annotations -readme-renderer==42.0 +readme-renderer==43.0 # via twine requests==2.31.0 # via @@ -239,10 +235,8 @@ restructuredtext-lint==1.4.0 # via doc8 rfc3986==2.0.0 # via twine -rich==13.7.0 +rich==13.7.1 # via twine -secretstorage==3.3.3 - # via keyring snowballstemmer==2.2.0 # via sphinx soupsieve==2.5 @@ -270,7 +264,7 @@ sqlparse==0.4.4 # via # -r requirements/test.txt # django -stevedore==5.1.0 +stevedore==5.2.0 # via # -r requirements/test.txt # code-annotations @@ -291,7 +285,7 @@ tomli==2.0.1 # pytest twine==5.0.0 # via -r requirements/doc.in -typing-extensions==4.9.0 +typing-extensions==4.10.0 # via # -r requirements/test.txt # asgiref @@ -303,7 +297,7 @@ urllib3==2.2.1 # -r requirements/test.txt # requests # twine -zipp==3.17.0 +zipp==3.18.1 # via # importlib-metadata # importlib-resources diff --git a/requirements/pip-tools.txt b/requirements/pip-tools.txt index 44c48d99..aad9d382 100644 --- a/requirements/pip-tools.txt +++ b/requirements/pip-tools.txt @@ -4,15 +4,17 @@ # # make upgrade # -build==1.0.3 +build==1.1.1 # via pip-tools click==8.1.7 # via pip-tools -importlib-metadata==7.0.1 - # via build -packaging==23.2 +importlib-metadata==6.11.0 + # via + # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt + # build +packaging==24.0 # via build -pip-tools==7.4.0 +pip-tools==7.4.1 # via -r requirements/pip-tools.in pyproject-hooks==1.0.0 # via @@ -23,9 +25,9 @@ tomli==2.0.1 # build # pip-tools # pyproject-hooks -wheel==0.42.0 +wheel==0.43.0 # via pip-tools -zipp==3.17.0 +zipp==3.18.1 # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/pip.txt b/requirements/pip.txt index 71954cc6..cf449024 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -4,11 +4,11 @@ # # make upgrade # -wheel==0.42.0 +wheel==0.43.0 # via -r requirements/pip.in # The following packages are considered to be unsafe in a requirements file: pip==24.0 # via -r requirements/pip.in -setuptools==69.1.0 +setuptools==69.2.0 # via -r requirements/pip.in diff --git a/requirements/quality.txt b/requirements/quality.txt index 3067d251..e3ce7f73 100644 --- a/requirements/quality.txt +++ b/requirements/quality.txt @@ -4,11 +4,11 @@ # # make upgrade # -asgiref==3.7.2 +asgiref==3.8.0 # via # -r requirements/test.txt # django -astroid==3.0.3 +astroid==3.1.0 # via # pylint # pylint-celery @@ -20,6 +20,11 @@ avro==1.11.3 # via # -r requirements/test.txt # confluent-kafka +backports-zoneinfo==0.2.1 ; python_version < "3.9" + # via + # -c requirements/constraints.txt + # -r requirements/test.txt + # django certifi==2024.2.2 # via # -r requirements/test.txt @@ -27,7 +32,6 @@ certifi==2024.2.2 cffi==1.16.0 # via # -r requirements/test.txt - # cryptography # pynacl charset-normalizer==3.3.2 # via @@ -42,24 +46,22 @@ click==8.1.7 # edx-lint click-log==0.4.0 # via edx-lint -code-annotations==1.6.0 +code-annotations==1.7.0 # via # -r requirements/test.txt # edx-lint # edx-toggles confluent-kafka[avro,schema-registry]==2.3.0 # via -r requirements/test.txt -coverage[toml]==7.4.1 +coverage[toml]==7.4.4 # via # -r requirements/test.txt # pytest-cov -cryptography==42.0.3 - # via secretstorage -ddt==1.7.1 +ddt==1.7.2 # via -r requirements/test.txt dill==0.3.8 # via pylint -django==3.2.24 +django==4.2.11 # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/test.txt @@ -80,7 +82,7 @@ django-waffle==4.1.0 # edx-toggles docutils==0.20.1 # via readme-renderer -edx-django-utils==5.10.1 +edx-django-utils==5.11.0 # via # -r requirements/test.txt # edx-toggles @@ -106,11 +108,12 @@ idna==3.6 # via # -r requirements/test.txt # requests -importlib-metadata==7.0.1 +importlib-metadata==6.11.0 # via + # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # keyring # twine -importlib-resources==6.1.1 +importlib-resources==6.4.0 # via keyring iniconfig==2.0.0 # via @@ -122,15 +125,11 @@ isort==5.13.2 # pylint jaraco-classes==3.3.1 # via keyring -jeepney==0.8.0 - # via - # keyring - # secretstorage jinja2==3.1.3 # via # -r requirements/test.txt # code-annotations -keyring==24.3.0 +keyring==24.3.1 # via twine markdown-it-py==3.0.0 # via rich @@ -144,7 +143,7 @@ mdurl==0.1.2 # via markdown-it-py more-itertools==10.2.0 # via jaraco-classes -newrelic==9.6.0 +newrelic==9.7.1 # via # -r requirements/test.txt # edx-django-utils @@ -152,7 +151,7 @@ nh3==0.2.15 # via readme-renderer openedx-events==9.5.2 # via -r requirements/test.txt -packaging==23.2 +packaging==24.0 # via # -r requirements/test.txt # pytest @@ -160,7 +159,7 @@ pbr==6.0.0 # via # -r requirements/test.txt # stevedore -pkginfo==1.9.6 +pkginfo==1.10.0 # via twine platformdirs==4.2.0 # via pylint @@ -184,7 +183,7 @@ pygments==2.17.2 # via # readme-renderer # rich -pylint==3.0.3 +pylint==3.1.0 # via # edx-lint # pylint-celery @@ -206,7 +205,7 @@ pynacl==1.5.0 # via # -r requirements/test.txt # edx-django-utils -pytest==8.0.1 +pytest==8.1.1 # via # -r requirements/test.txt # pytest-cov @@ -219,15 +218,11 @@ python-slugify==8.0.4 # via # -r requirements/test.txt # code-annotations -pytz==2024.1 - # via - # -r requirements/test.txt - # django pyyaml==6.0.1 # via # -r requirements/test.txt # code-annotations -readme-renderer==42.0 +readme-renderer==43.0 # via twine requests==2.31.0 # via @@ -239,10 +234,8 @@ requests-toolbelt==1.0.0 # via twine rfc3986==2.0.0 # via twine -rich==13.7.0 +rich==13.7.1 # via twine -secretstorage==3.3.3 - # via keyring six==1.16.0 # via edx-lint snowballstemmer==2.2.0 @@ -251,7 +244,7 @@ sqlparse==0.4.4 # via # -r requirements/test.txt # django -stevedore==5.1.0 +stevedore==5.2.0 # via # -r requirements/test.txt # code-annotations @@ -267,11 +260,11 @@ tomli==2.0.1 # coverage # pylint # pytest -tomlkit==0.12.3 +tomlkit==0.12.4 # via pylint twine==5.0.0 # via -r requirements/quality.in -typing-extensions==4.9.0 +typing-extensions==4.10.0 # via # -r requirements/test.txt # asgiref @@ -284,7 +277,7 @@ urllib3==2.2.1 # -r requirements/test.txt # requests # twine -zipp==3.17.0 +zipp==3.18.1 # via # importlib-metadata # importlib-resources diff --git a/requirements/test.txt b/requirements/test.txt index 285f4870..7f573423 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -4,7 +4,7 @@ # # make upgrade # -asgiref==3.7.2 +asgiref==3.8.0 # via # -r requirements/base.txt # django @@ -14,6 +14,11 @@ attrs==23.2.0 # openedx-events avro==1.11.3 # via confluent-kafka +backports-zoneinfo==0.2.1 ; python_version < "3.9" + # via + # -c requirements/constraints.txt + # -r requirements/base.txt + # django certifi==2024.2.2 # via requests cffi==1.16.0 @@ -27,16 +32,16 @@ click==8.1.7 # -r requirements/base.txt # code-annotations # edx-django-utils -code-annotations==1.6.0 +code-annotations==1.7.0 # via # -r requirements/base.txt # -r requirements/test.in # edx-toggles confluent-kafka[avro,schema-registry]==2.3.0 # via -r requirements/test.in -coverage[toml]==7.4.1 +coverage[toml]==7.4.4 # via pytest-cov -ddt==1.7.1 +ddt==1.7.2 # via -r requirements/test.in # via # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt @@ -56,7 +61,7 @@ django-waffle==4.1.0 # -r requirements/base.txt # edx-django-utils # edx-toggles -edx-django-utils==5.10.1 +edx-django-utils==5.11.0 # via # -r requirements/base.txt # edx-toggles @@ -86,13 +91,13 @@ markupsafe==2.1.5 # via # -r requirements/base.txt # jinja2 -newrelic==9.6.0 +newrelic==9.7.1 # via # -r requirements/base.txt # edx-django-utils openedx-events==9.5.2 # via -r requirements/base.txt -packaging==23.2 +packaging==24.0 # via pytest pbr==6.0.0 # via @@ -116,7 +121,7 @@ pynacl==1.5.0 # via # -r requirements/base.txt # edx-django-utils -pytest==8.0.1 +pytest==8.1.1 # via # pytest-cov # pytest-django @@ -128,10 +133,6 @@ python-slugify==8.0.4 # via # -r requirements/base.txt # code-annotations -pytz==2024.1 - # via - # -r requirements/base.txt - # django pyyaml==6.0.1 # via # -r requirements/base.txt @@ -142,7 +143,7 @@ sqlparse==0.4.4 # via # -r requirements/base.txt # django -stevedore==5.1.0 +stevedore==5.2.0 # via # -r requirements/base.txt # code-annotations @@ -156,7 +157,7 @@ tomli==2.0.1 # via # coverage # pytest -typing-extensions==4.9.0 +typing-extensions==4.10.0 # via # -r requirements/base.txt # asgiref diff --git a/setup.py b/setup.py index 9e182fdb..7dacadca 100755 --- a/setup.py +++ b/setup.py @@ -120,11 +120,12 @@ def is_requirement(line): classifiers=[ 'Development Status :: 3 - Alpha', 'Framework :: Django', - 'Framework :: Django :: 3.2', + 'Framework :: Django :: 4.2', 'Intended Audience :: Developers', 'License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)', 'Natural Language :: English', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.12', ], ) diff --git a/tox.ini b/tox.ini index 5488d41f..e4c1be7f 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py38-django{32,40} +envlist = py{38,311}-django{42} [doc8] ; D001 = Line too long @@ -36,8 +36,7 @@ norecursedirs = .* docs requirements site-packages [testenv] deps = - django32: Django>=3.2,<4.0 - django40: Django>=4.0,<4.1 + django42: Django>=4.2,<4.3 -r{toxinidir}/requirements/test.txt commands = python manage.py check @@ -64,6 +63,8 @@ commands = twine check dist/* [testenv:quality] +setenv = + DJANGO_SETTINGS_MODULE = test_settings allowlist_externals = make rm @@ -86,4 +87,3 @@ deps = -r{toxinidir}/requirements/test.txt commands = code_annotations django_find_annotations --config_file .pii_annotations.yml --lint --report --coverage -