From 91122493eb3a980cb82e1f6fa13f68ca28705cb5 Mon Sep 17 00:00:00 2001 From: awais qureshi Date: Thu, 22 Feb 2024 12:07:21 +0500 Subject: [PATCH 1/9] feat: adding python 3.11 and 3.12 support. --- .github/workflows/ci.yml | 6 +- CHANGELOG.rst | 6 ++ Makefile | 2 + requirements/base.txt | 60 ++++++++++++++------ requirements/celery44.txt | 12 ++-- requirements/celery53.txt | 13 +++-- requirements/ci.txt | 4 +- requirements/common_constraints.txt | 2 +- requirements/constraints.txt | 7 ++- requirements/dev.txt | 80 ++++++++++++++++++-------- requirements/doc.txt | 88 ++++++++++++++++++----------- requirements/pip-tools.txt | 6 +- requirements/pip.txt | 2 +- requirements/quality.txt | 73 +++++++++++++++++------- requirements/test.txt | 70 +++++++++++++++++------ setup.py | 2 +- super_csv/__init__.py | 2 +- super_csv/csv_processor.py | 4 +- tox.ini | 13 +++-- 19 files changed, 311 insertions(+), 141 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index db43c3b..b037b71 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,10 +14,9 @@ jobs: strategy: matrix: os: [ubuntu-20.04] - python-version: ["3.8"] + python-version: ["3.8", "3.12"] toxenv: [ - django32-celery53-drflatest, django42-celery53-drflatest, quality, docs, @@ -32,7 +31,8 @@ jobs: python-version: ${{ matrix.python-version }} - name: Install pip - run: pip install -r requirements/pip.txt + run: + pip install -r requirements/pip.txt - name: Install Dependencies run: pip install -r requirements/ci.txt diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 81d27be..ee4c894 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -13,6 +13,12 @@ Change Log Unreleased ---------- +[3.2.0] - 2023-07-31 +~~~~~~~~~~~~~~~~~~~~ + +* Added support of python3.12 +* Dropped django32 support. + [3.1.0] - 2023-07-31 ~~~~~~~~~~~~~~~~~~~~ diff --git a/Makefile b/Makefile index af51692..b1bccdd 100644 --- a/Makefile +++ b/Makefile @@ -42,6 +42,8 @@ upgrade: $(COMMON_CONSTRAINTS_TXT) ## update the requirements/*.txt files with pip-compile --upgrade -o requirements/pip-tools.txt requirements/pip-tools.in pip install -qr requirements/pip.txt pip install -qr requirements/pip-tools.txt + sed 's/Django<4.0//g' requirements/common_constraints.txt > requirements/common_constraints.tmp + mv requirements/common_constraints.tmp requirements/common_constraints.txt pip-compile --upgrade -o requirements/base.txt requirements/base.in pip-compile --upgrade -o requirements/test.txt requirements/test.in pip-compile --upgrade -o requirements/doc.txt requirements/doc.in diff --git a/requirements/base.txt b/requirements/base.txt index 7a600ff..175b6fc 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -4,23 +4,39 @@ # # make upgrade # -amqp==2.6.1 +amqp==5.2.0 # via kombu asgiref==3.7.2 # via django -billiard==3.6.4.0 +backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" + # via + # -c requirements/constraints.txt + # celery + # django + # kombu +billiard==4.2.0 # via celery -celery==4.4.7 +celery==5.3.6 # via # -c requirements/constraints.txt # edx-celeryutils cffi==1.16.0 # via pynacl click==8.1.7 - # via edx-django-utils -django==3.2.23 # via - # -c requirements/common_constraints.txt + # celery + # click-didyoumean + # click-plugins + # click-repl + # edx-django-utils +click-didyoumean==0.3.0 + # via celery +click-plugins==1.1.1 + # via celery +click-repl==0.3.0 + # via celery +django==4.2.10 + # via # -r requirements/base.in # django-crum # django-model-utils @@ -33,7 +49,7 @@ django-crum==0.7.9 # via # -r requirements/base.in # edx-django-utils -django-model-utils==4.3.1 +django-model-utils==4.4.0 # via # -r requirements/base.in # edx-celeryutils @@ -47,32 +63,44 @@ edx-django-utils==5.10.1 # via -r requirements/base.in jsonfield==3.1.0 # via edx-celeryutils -kombu==4.6.11 +kombu==5.3.5 # via celery -newrelic==9.6.0 +newrelic==9.7.0 # via edx-django-utils pbr==6.0.0 # via stevedore +prompt-toolkit==3.0.43 + # via click-repl psutil==5.9.8 # via edx-django-utils pycparser==2.21 # via cffi pynacl==1.5.0 # via edx-django-utils +python-dateutil==2.8.2 + # via celery pytz==2024.1 - # via - # celery - # django - # djangorestframework + # via djangorestframework simplejson==3.19.2 # via -r requirements/base.in +six==1.16.0 + # via python-dateutil sqlparse==0.4.4 # via django -stevedore==5.1.0 +stevedore==5.2.0 # via edx-django-utils typing-extensions==4.9.0 - # via asgiref -vine==1.3.0 + # via + # asgiref + # kombu +tzdata==2024.1 + # via + # backports-zoneinfo + # celery +vine==5.1.0 # via # amqp # celery + # kombu +wcwidth==0.2.13 + # via prompt-toolkit diff --git a/requirements/celery44.txt b/requirements/celery44.txt index b7486d8..360214d 100644 --- a/requirements/celery44.txt +++ b/requirements/celery44.txt @@ -1,6 +1,6 @@ -amqp==2.6.1 -billiard==3.6.4.0 -celery==4.4.7 -click==8.1.3 -kombu==4.6.11 -vine==1.3.0 +amqp==5.2.0 +billiard==4.2.0 +celery==5.3.6 +click==8.1.6 +kombu==5.3.5 +vine==5.1.0 diff --git a/requirements/celery53.txt b/requirements/celery53.txt index 30dc163..71b2985 100644 --- a/requirements/celery53.txt +++ b/requirements/celery53.txt @@ -1,6 +1,9 @@ -amqp==2.6.1 -billiard==3.6.4.0 -celery==4.4.7 +amqp==5.2.0 +billiard==4.2.0 +celery==5.3.6 click==8.1.7 -kombu==4.6.11 -vine==1.3.0 +click-didyoumean==0.3.0 +click-repl==0.3.0 +kombu==5.3.5 +prompt-toolkit==3.0.43 +vine==5.1.0 diff --git a/requirements/ci.txt b/requirements/ci.txt index 742e39c..e7a8760 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -32,7 +32,7 @@ tomli==2.0.1 # via # pyproject-api # tox -tox==4.12.1 +tox==4.13.0 # via -r requirements/ci.in -virtualenv==20.25.0 +virtualenv==20.25.1 # via tox diff --git a/requirements/common_constraints.txt b/requirements/common_constraints.txt index 15aafb2..5a45d22 100644 --- a/requirements/common_constraints.txt +++ b/requirements/common_constraints.txt @@ -13,7 +13,7 @@ # using LTS django version -Django<4.0 + # elasticsearch>=7.14.0 includes breaking changes in it which caused issues in discovery upgrade process. # elastic search changelog: https://www.elastic.co/guide/en/enterprise-search/master/release-notes-7.14.0.html diff --git a/requirements/constraints.txt b/requirements/constraints.txt index 465a221..d6c14f0 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -11,4 +11,9 @@ # Common constraints for edx repos -c common_constraints.txt -celery<5.0 # we still want to support celery 4 +# As it is not clarified what exact breaking changes will be introduced as per +# the next major release, ensure the installed version is within boundaries. +celery>=5.2.2,<6.0.0 + + +backports.zoneinfo;python_version<"3.9" \ No newline at end of file diff --git a/requirements/dev.txt b/requirements/dev.txt index 2e2f1d1..f84cd78 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -4,7 +4,7 @@ # # make upgrade # -amqp==2.6.1 +amqp==5.2.0 # via # -r requirements/quality.txt # kombu @@ -17,7 +17,14 @@ astroid==3.0.3 # -r requirements/quality.txt # pylint # pylint-celery -billiard==3.6.4.0 +backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" + # via + # -c requirements/constraints.txt + # -r requirements/quality.txt + # celery + # django + # kombu +billiard==4.2.0 # via # -r requirements/quality.txt # celery @@ -29,7 +36,7 @@ cachetools==5.3.2 # via # -r requirements/ci.txt # tox -celery==4.4.7 +celery==5.3.6 # via # -c requirements/constraints.txt # -r requirements/quality.txt @@ -47,15 +54,31 @@ click==8.1.7 # via # -r requirements/pip-tools.txt # -r requirements/quality.txt + # celery + # click-didyoumean # click-log + # click-plugins + # click-repl # code-annotations # edx-django-utils # edx-lint # pip-tools +click-didyoumean==0.3.0 + # via + # -r requirements/quality.txt + # celery click-log==0.4.0 # via # -r requirements/quality.txt # edx-lint +click-plugins==1.1.1 + # via + # -r requirements/quality.txt + # celery +click-repl==0.3.0 + # via + # -r requirements/quality.txt + # celery code-annotations==1.6.0 # via # -r requirements/quality.txt @@ -64,10 +87,9 @@ colorama==0.4.6 # via # -r requirements/ci.txt # tox -coverage[toml]==7.4.1 +coverage[toml]==7.4.2 # via # -r requirements/quality.txt - # coverage # pytest-cov ddt==1.7.1 # via -r requirements/quality.txt @@ -81,9 +103,8 @@ distlib==0.3.8 # via # -r requirements/ci.txt # virtualenv -django==3.2.23 +django==4.2.10 # via - # -c requirements/common_constraints.txt # -r requirements/quality.txt # django-crum # django-model-utils @@ -97,7 +118,7 @@ django-crum==0.7.9 # via # -r requirements/quality.txt # edx-django-utils -django-model-utils==4.3.1 +django-model-utils==4.4.0 # via # -r requirements/quality.txt # edx-celeryutils @@ -126,10 +147,6 @@ filelock==3.13.1 # virtualenv freezegun==1.4.0 # via -r requirements/quality.txt -greenlet==3.0.3 - # via - # -r requirements/quality.txt - # sqlalchemy importlib-metadata==7.0.1 # via # -r requirements/pip-tools.txt @@ -151,7 +168,7 @@ jsonfield==3.1.0 # via # -r requirements/quality.txt # edx-celeryutils -kombu==4.6.11 +kombu==5.3.5 # via # -r requirements/quality.txt # celery @@ -167,7 +184,7 @@ mccabe==0.7.0 # pylint mock==5.1.0 # via -r requirements/quality.txt -newrelic==9.6.0 +newrelic==9.7.0 # via # -r requirements/quality.txt # edx-django-utils @@ -186,7 +203,7 @@ pbr==6.0.0 # via # -r requirements/quality.txt # stevedore -pip-tools==7.3.0 +pip-tools==7.4.0 # via -r requirements/pip-tools.txt platformdirs==4.2.0 # via @@ -204,6 +221,10 @@ pluggy==1.4.0 # tox polib==1.2.0 # via edx-i18n-tools +prompt-toolkit==3.0.43 + # via + # -r requirements/quality.txt + # click-repl psutil==5.9.8 # via # -r requirements/quality.txt @@ -250,7 +271,8 @@ pyproject-hooks==1.0.0 # via # -r requirements/pip-tools.txt # build -pytest==8.0.0 + # pip-tools +pytest==8.0.1 # via # -r requirements/quality.txt # pytest-cov @@ -262,16 +284,15 @@ pytest-django==4.8.0 python-dateutil==2.8.2 # via # -r requirements/quality.txt + # celery # freezegun -python-slugify==8.0.3 +python-slugify==8.0.4 # via # -r requirements/quality.txt # code-annotations pytz==2024.1 # via # -r requirements/quality.txt - # celery - # django # djangorestframework pyyaml==6.0.1 # via @@ -289,13 +310,13 @@ snowballstemmer==2.2.0 # via # -r requirements/quality.txt # pydocstyle -sqlalchemy==2.0.25 +sqlalchemy==2.0.27 # via -r requirements/quality.txt 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 @@ -321,24 +342,35 @@ tomlkit==0.12.3 # via # -r requirements/quality.txt # pylint -tox==4.12.1 +tox==4.13.0 # via -r requirements/ci.txt typing-extensions==4.9.0 # via # -r requirements/quality.txt # asgiref # astroid + # kombu # pylint # sqlalchemy -vine==1.3.0 +tzdata==2024.1 + # via + # -r requirements/quality.txt + # backports-zoneinfo + # celery +vine==5.1.0 # via # -r requirements/quality.txt # amqp # celery -virtualenv==20.25.0 + # kombu +virtualenv==20.25.1 # via # -r requirements/ci.txt # tox +wcwidth==0.2.13 + # via + # -r requirements/quality.txt + # prompt-toolkit wheel==0.42.0 # via # -r requirements/pip-tools.txt diff --git a/requirements/doc.txt b/requirements/doc.txt index 1075af2..8f02481 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 -amqp==2.6.1 +amqp==5.2.0 # via # -r requirements/test.txt # kombu @@ -20,13 +20,20 @@ babel==2.14.0 # via # pydata-sphinx-theme # sphinx +backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" + # via + # -c requirements/constraints.txt + # -r requirements/test.txt + # celery + # django + # kombu beautifulsoup4==4.12.3 # via pydata-sphinx-theme -billiard==3.6.4.0 +billiard==4.2.0 # via # -r requirements/test.txt # celery -celery==4.4.7 +celery==5.3.6 # via # -c requirements/constraints.txt # -r requirements/test.txt @@ -36,29 +43,40 @@ certifi==2024.2.2 cffi==1.16.0 # via # -r requirements/test.txt - # cryptography # pynacl charset-normalizer==3.3.2 # via requests click==8.1.7 # via # -r requirements/test.txt + # celery + # click-didyoumean + # click-plugins + # click-repl # code-annotations # edx-django-utils +click-didyoumean==0.3.0 + # via + # -r requirements/test.txt + # celery +click-plugins==1.1.1 + # via + # -r requirements/test.txt + # celery +click-repl==0.3.0 + # via + # -r requirements/test.txt + # celery code-annotations==1.6.0 # via -r requirements/test.txt -coverage[toml]==7.4.1 +coverage[toml]==7.4.2 # via # -r requirements/test.txt - # coverage # pytest-cov -cryptography==42.0.2 - # via secretstorage ddt==1.7.1 # via -r requirements/test.txt -django==3.2.23 +django==4.2.10 # via - # -c requirements/common_constraints.txt # -r requirements/test.txt # django-crum # django-model-utils @@ -71,7 +89,7 @@ django-crum==0.7.9 # via # -r requirements/test.txt # edx-django-utils -django-model-utils==4.3.1 +django-model-utils==4.4.0 # via # -r requirements/test.txt # edx-celeryutils @@ -100,10 +118,6 @@ exceptiongroup==1.2.0 # pytest freezegun==1.4.0 # via -r requirements/test.txt -greenlet==3.0.3 - # via - # -r requirements/test.txt - # sqlalchemy idna==3.6 # via requests imagesize==1.4.1 @@ -119,12 +133,8 @@ iniconfig==2.0.0 # via # -r requirements/test.txt # pytest -jaraco-classes==3.3.0 +jaraco-classes==3.3.1 # via keyring -jeepney==0.8.0 - # via - # keyring - # secretstorage jinja2==3.1.3 # via # -r requirements/test.txt @@ -136,7 +146,7 @@ jsonfield==3.1.0 # edx-celeryutils keyring==24.3.0 # via twine -kombu==4.6.11 +kombu==5.3.5 # via # -r requirements/test.txt # celery @@ -152,7 +162,7 @@ mock==5.1.0 # via -r requirements/test.txt more-itertools==10.2.0 # via jaraco-classes -newrelic==9.6.0 +newrelic==9.7.0 # via # -r requirements/test.txt # edx-django-utils @@ -174,6 +184,10 @@ pluggy==1.4.0 # via # -r requirements/test.txt # pytest +prompt-toolkit==3.0.43 + # via + # -r requirements/test.txt + # click-repl psutil==5.9.8 # via # -r requirements/test.txt @@ -196,7 +210,7 @@ pynacl==1.5.0 # via # -r requirements/test.txt # edx-django-utils -pytest==8.0.0 +pytest==8.0.1 # via # -r requirements/test.txt # pytest-cov @@ -208,8 +222,9 @@ pytest-django==4.8.0 python-dateutil==2.8.2 # via # -r requirements/test.txt + # celery # freezegun -python-slugify==8.0.3 +python-slugify==8.0.4 # via # -r requirements/test.txt # code-annotations @@ -217,8 +232,6 @@ pytz==2024.1 # via # -r requirements/test.txt # babel - # celery - # django # djangorestframework pyyaml==6.0.1 # via @@ -239,8 +252,6 @@ rfc3986==2.0.0 # via twine rich==13.7.0 # via twine -secretstorage==3.3.3 - # via keyring simplejson==3.19.2 # via -r requirements/test.txt six==1.16.0 @@ -270,13 +281,13 @@ sphinxcontrib-qthelp==1.0.3 # via sphinx sphinxcontrib-serializinghtml==1.1.5 # via sphinx -sqlalchemy==2.0.25 +sqlalchemy==2.0.27 # via -r requirements/test.txt 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 @@ -292,24 +303,35 @@ tomli==2.0.1 # coverage # doc8 # pytest -twine==4.0.2 +twine==5.0.0 # via -r requirements/doc.in typing-extensions==4.9.0 # via # -r requirements/test.txt # asgiref + # kombu # pydata-sphinx-theme # rich # sqlalchemy -urllib3==2.2.0 +tzdata==2024.1 + # via + # -r requirements/test.txt + # backports-zoneinfo + # celery +urllib3==2.2.1 # via # requests # twine -vine==1.3.0 +vine==5.1.0 # via # -r requirements/test.txt # amqp # celery + # kombu +wcwidth==0.2.13 + # via + # -r requirements/test.txt + # prompt-toolkit zipp==3.17.0 # via # importlib-metadata diff --git a/requirements/pip-tools.txt b/requirements/pip-tools.txt index 0e88226..44c48d9 100644 --- a/requirements/pip-tools.txt +++ b/requirements/pip-tools.txt @@ -12,10 +12,12 @@ importlib-metadata==7.0.1 # via build packaging==23.2 # via build -pip-tools==7.3.0 +pip-tools==7.4.0 # via -r requirements/pip-tools.in pyproject-hooks==1.0.0 - # via build + # via + # build + # pip-tools tomli==2.0.1 # via # build diff --git a/requirements/pip.txt b/requirements/pip.txt index dfa2b77..71954cc 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -10,5 +10,5 @@ wheel==0.42.0 # The following packages are considered to be unsafe in a requirements file: pip==24.0 # via -r requirements/pip.in -setuptools==69.0.3 +setuptools==69.1.0 # via -r requirements/pip.in diff --git a/requirements/quality.txt b/requirements/quality.txt index 733f93b..c36c164 100644 --- a/requirements/quality.txt +++ b/requirements/quality.txt @@ -4,7 +4,7 @@ # # make upgrade # -amqp==2.6.1 +amqp==5.2.0 # via # -r requirements/test.txt # kombu @@ -16,11 +16,18 @@ astroid==3.0.3 # via # pylint # pylint-celery -billiard==3.6.4.0 +backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" + # via + # -c requirements/constraints.txt + # -r requirements/test.txt + # celery + # django + # kombu +billiard==4.2.0 # via # -r requirements/test.txt # celery -celery==4.4.7 +celery==5.3.6 # via # -c requirements/constraints.txt # -r requirements/test.txt @@ -32,28 +39,42 @@ cffi==1.16.0 click==8.1.7 # via # -r requirements/test.txt + # celery + # click-didyoumean # click-log + # click-plugins + # click-repl # code-annotations # edx-django-utils # edx-lint +click-didyoumean==0.3.0 + # via + # -r requirements/test.txt + # celery click-log==0.4.0 # via edx-lint +click-plugins==1.1.1 + # via + # -r requirements/test.txt + # celery +click-repl==0.3.0 + # via + # -r requirements/test.txt + # celery code-annotations==1.6.0 # via # -r requirements/test.txt # edx-lint -coverage[toml]==7.4.1 +coverage[toml]==7.4.2 # via # -r requirements/test.txt - # coverage # pytest-cov ddt==1.7.1 # via -r requirements/test.txt dill==0.3.8 # via pylint -django==3.2.23 +django==4.2.10 # via - # -c requirements/common_constraints.txt # -r requirements/test.txt # django-crum # django-model-utils @@ -66,7 +87,7 @@ django-crum==0.7.9 # via # -r requirements/test.txt # edx-django-utils -django-model-utils==4.3.1 +django-model-utils==4.4.0 # via # -r requirements/test.txt # edx-celeryutils @@ -88,10 +109,6 @@ exceptiongroup==1.2.0 # pytest freezegun==1.4.0 # via -r requirements/test.txt -greenlet==3.0.3 - # via - # -r requirements/test.txt - # sqlalchemy iniconfig==2.0.0 # via # -r requirements/test.txt @@ -108,7 +125,7 @@ jsonfield==3.1.0 # via # -r requirements/test.txt # edx-celeryutils -kombu==4.6.11 +kombu==5.3.5 # via # -r requirements/test.txt # celery @@ -120,7 +137,7 @@ mccabe==0.7.0 # via pylint mock==5.1.0 # via -r requirements/test.txt -newrelic==9.6.0 +newrelic==9.7.0 # via # -r requirements/test.txt # edx-django-utils @@ -138,6 +155,10 @@ pluggy==1.4.0 # via # -r requirements/test.txt # pytest +prompt-toolkit==3.0.43 + # via + # -r requirements/test.txt + # click-repl psutil==5.9.8 # via # -r requirements/test.txt @@ -168,7 +189,7 @@ pynacl==1.5.0 # via # -r requirements/test.txt # edx-django-utils -pytest==8.0.0 +pytest==8.0.1 # via # -r requirements/test.txt # pytest-cov @@ -180,16 +201,15 @@ pytest-django==4.8.0 python-dateutil==2.8.2 # via # -r requirements/test.txt + # celery # freezegun -python-slugify==8.0.3 +python-slugify==8.0.4 # via # -r requirements/test.txt # code-annotations pytz==2024.1 # via # -r requirements/test.txt - # celery - # django # djangorestframework pyyaml==6.0.1 # via @@ -204,13 +224,13 @@ six==1.16.0 # python-dateutil snowballstemmer==2.2.0 # via pydocstyle -sqlalchemy==2.0.25 +sqlalchemy==2.0.27 # via -r requirements/test.txt 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 @@ -232,10 +252,21 @@ typing-extensions==4.9.0 # -r requirements/test.txt # asgiref # astroid + # kombu # pylint # sqlalchemy -vine==1.3.0 +tzdata==2024.1 + # via + # -r requirements/test.txt + # backports-zoneinfo + # celery +vine==5.1.0 # via # -r requirements/test.txt # amqp # celery + # kombu +wcwidth==0.2.13 + # via + # -r requirements/test.txt + # prompt-toolkit diff --git a/requirements/test.txt b/requirements/test.txt index 4439ac0..f6d338f 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -11,6 +11,13 @@ asgiref==3.7.2 # via # -r requirements/base.txt # django +backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" + # via + # -c requirements/constraints.txt + # -r requirements/base.txt + # celery + # django + # kombu # via # -r requirements/base.txt # celery @@ -25,18 +32,31 @@ cffi==1.16.0 click==8.1.7 # via # -r requirements/base.txt + # celery + # click-didyoumean + # click-plugins + # click-repl # code-annotations # edx-django-utils +click-didyoumean==0.3.0 + # via + # -r requirements/base.txt + # celery +click-plugins==1.1.1 + # via + # -r requirements/base.txt + # celery +click-repl==0.3.0 + # via + # -r requirements/base.txt + # celery code-annotations==1.6.0 # via -r requirements/test.in -coverage[toml]==7.4.1 - # via - # coverage - # pytest-cov +coverage[toml]==7.4.2 + # via pytest-cov ddt==1.7.1 # via -r requirements/test.in # via - # -c requirements/common_constraints.txt # -r requirements/base.txt # django-crum # django-model-utils @@ -49,7 +69,7 @@ django-crum==0.7.9 # via # -r requirements/base.txt # edx-django-utils -django-model-utils==4.3.1 +django-model-utils==4.4.0 # via # -r requirements/base.txt # edx-celeryutils @@ -66,8 +86,6 @@ exceptiongroup==1.2.0 # via pytest freezegun==1.4.0 # via -r requirements/test.in -greenlet==3.0.3 - # via sqlalchemy iniconfig==2.0.0 # via pytest jinja2==3.1.3 @@ -83,7 +101,7 @@ markupsafe==2.1.5 # via jinja2 mock==5.1.0 # via -r requirements/test.in -newrelic==9.6.0 +newrelic==9.7.0 # via # -r requirements/base.txt # edx-django-utils @@ -95,6 +113,10 @@ pbr==6.0.0 # stevedore pluggy==1.4.0 # via pytest +prompt-toolkit==3.0.43 + # via + # -r requirements/base.txt + # click-repl psutil==5.9.8 # via # -r requirements/base.txt @@ -107,7 +129,7 @@ pynacl==1.5.0 # via # -r requirements/base.txt # edx-django-utils -pytest==8.0.0 +pytest==8.0.1 # via # pytest-cov # pytest-django @@ -116,28 +138,31 @@ pytest-cov==4.1.0 pytest-django==4.8.0 # via -r requirements/test.in python-dateutil==2.8.2 - # via freezegun -python-slugify==8.0.3 + # via + # -r requirements/base.txt + # celery + # freezegun +python-slugify==8.0.4 # via code-annotations pytz==2024.1 # via # -r requirements/base.txt - # celery - # django # djangorestframework pyyaml==6.0.1 # via code-annotations simplejson==3.19.2 # via -r requirements/base.txt six==1.16.0 - # via python-dateutil -sqlalchemy==2.0.25 + # via + # -r requirements/base.txt + # python-dateutil +sqlalchemy==2.0.27 # via -r requirements/test.in 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 @@ -152,8 +177,19 @@ typing-extensions==4.9.0 # via # -r requirements/base.txt # asgiref + # kombu # sqlalchemy +tzdata==2024.1 + # via + # -r requirements/base.txt + # backports-zoneinfo + # celery # via # -r requirements/base.txt # amqp # celery + # kombu +wcwidth==0.2.13 + # via + # -r requirements/base.txt + # prompt-toolkit diff --git a/setup.py b/setup.py index 0f1b2ea..b2e41a5 100644 --- a/setup.py +++ b/setup.py @@ -84,13 +84,13 @@ def is_requirement(line): classifiers=[ 'Development Status :: 3 - Alpha', 'Framework :: Django', - 'Framework :: Django :: 3.2', 'Framework :: Django :: 4.0', 'Intended Audience :: Developers', 'License :: OSI Approved :: Apache Software License', 'Natural Language :: English', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.12', ], entry_points={ 'lms.djangoapp': [ diff --git a/super_csv/__init__.py b/super_csv/__init__.py index 6ec4f98..68ed392 100644 --- a/super_csv/__init__.py +++ b/super_csv/__init__.py @@ -2,4 +2,4 @@ CSV Processor. """ -__version__ = '3.1.1' +__version__ = '3.2.0' diff --git a/super_csv/csv_processor.py b/super_csv/csv_processor.py index 5454d42..23c7542 100644 --- a/super_csv/csv_processor.py +++ b/super_csv/csv_processor.py @@ -293,7 +293,7 @@ def commit(self): saved += 1 if rollback_row: self.rollback_rows.append((rownum, rollback_row)) - except Exception as e: # pylint: disable=broad-except + except Exception as e: log.exception('Committing %r', self) self.add_error(str(e), row=rownum) if self.result_data: @@ -313,7 +313,7 @@ def rollback(self): did_save, __ = self.process_row(row) if did_save: saved += 1 - except Exception as e: # pylint: disable=broad-except + except Exception as e: log.exception('Rolling back %r', self) self.add_error(str(e), row=rownum) self.saved_rows = saved diff --git a/tox.ini b/tox.ini index ffdbc4d..cac4e2a 100644 --- a/tox.ini +++ b/tox.ini @@ -1,9 +1,8 @@ [tox] -envlist = py38-django{32,42}-celery{44,50}-drf{latest} +envlist = py{38,312}-django{42}-celery{50}-drf{latest} [testenv] -deps = - django32: Django>=3.2,<4.0 +deps = django42: Django>=4.2,<4.3 drflatest: djangorestframework celery53: -r{toxinidir}/requirements/celery53.txt @@ -20,6 +19,8 @@ allowlist_externals = rm deps = -r{toxinidir}/requirements/doc.txt + setuptools + wheel commands = doc8 --ignore-path docs/_build README.rst docs rm -f docs/super_csv.rst @@ -34,8 +35,9 @@ allowlist_externals = make rm touch -deps = +deps = -r{toxinidir}/requirements/quality.txt + setuptools commands = touch tests/__init__.py pylint super_csv manage.py setup.py @@ -47,7 +49,8 @@ commands = [testenv:pii_check] setenv = DJANGO_SETTINGS_MODULE = test_settings -deps = +deps = + wheel -r{toxinidir}/requirements/test.txt commands = code_annotations django_find_annotations --config_file .pii_annotations.yml --lint --report --coverage From cc9de67816100590e85677bc9fbbd7d83732e023 Mon Sep 17 00:00:00 2001 From: awais qureshi Date: Sun, 31 Mar 2024 22:42:36 +0500 Subject: [PATCH 2/9] feat: adding python3.11 and 3.12 support. --- requirements/base.in | 2 ++ 1 file changed, 2 insertions(+) diff --git a/requirements/base.in b/requirements/base.in index cd6f4ba..90122f7 100644 --- a/requirements/base.in +++ b/requirements/base.in @@ -8,3 +8,5 @@ djangorestframework edx-celeryutils edx-django-utils>=3.12.0 # Utilities for caching and monitoring simplejson +setuptools +wheel From 33ed1a3c68015f54bb270738715f920a9069d2db Mon Sep 17 00:00:00 2001 From: awais qureshi Date: Sun, 31 Mar 2024 22:43:22 +0500 Subject: [PATCH 3/9] feat: adding python3.11 and 3.12 support. --- CHANGELOG.rst | 2 +- setup.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index ee4c894..2dd70ee 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -16,7 +16,7 @@ Unreleased [3.2.0] - 2023-07-31 ~~~~~~~~~~~~~~~~~~~~ -* Added support of python3.12 +* Added support of python 3.11 and 3.12 * Dropped django32 support. diff --git a/setup.py b/setup.py index b2e41a5..9ca3b90 100644 --- a/setup.py +++ b/setup.py @@ -84,12 +84,13 @@ def is_requirement(line): classifiers=[ 'Development Status :: 3 - Alpha', 'Framework :: Django', - 'Framework :: Django :: 4.0', + 'Framework :: Django :: 4.2', 'Intended Audience :: Developers', 'License :: OSI Approved :: Apache Software License', 'Natural Language :: English', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.11', 'Programming Language :: Python :: 3.12', ], entry_points={ From 1cf001717ec3d8426fec12a432178e30fa8b2e88 Mon Sep 17 00:00:00 2001 From: edX requirements bot Date: Sun, 31 Mar 2024 13:44:34 -0400 Subject: [PATCH 4/9] chore: Updating Python Requirements --- requirements/base.txt | 29 +++++----- requirements/celery53.txt | 4 +- requirements/ci.txt | 8 +-- requirements/common_constraints.txt | 11 +++- requirements/dev.txt | 70 ++++++++++++------------ requirements/doc.txt | 83 ++++++++++++++++++----------- requirements/pip-tools.txt | 16 +++--- requirements/pip.txt | 4 +- requirements/quality.txt | 52 +++++++++--------- requirements/test.txt | 38 ++++++------- 10 files changed, 181 insertions(+), 134 deletions(-) diff --git a/requirements/base.txt b/requirements/base.txt index 175b6fc..2793603 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -6,13 +6,14 @@ # amqp==5.2.0 # via kombu -asgiref==3.7.2 +asgiref==3.8.1 # via django backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" # via # -c requirements/constraints.txt # celery # django + # djangorestframework # kombu billiard==4.2.0 # via celery @@ -29,14 +30,15 @@ click==8.1.7 # click-plugins # click-repl # edx-django-utils -click-didyoumean==0.3.0 +click-didyoumean==0.3.1 # via celery click-plugins==1.1.1 # via celery click-repl==0.3.0 # via celery -django==4.2.10 +django==4.2.11 # via + # -c requirements/common_constraints.txt # -r requirements/base.in # django-crum # django-model-utils @@ -55,17 +57,17 @@ django-model-utils==4.4.0 # edx-celeryutils django-waffle==4.1.0 # via edx-django-utils -djangorestframework==3.14.0 +djangorestframework==3.15.1 # via -r requirements/base.in edx-celeryutils==1.2.5 # via -r requirements/base.in -edx-django-utils==5.10.1 +edx-django-utils==5.12.0 # via -r requirements/base.in jsonfield==3.1.0 # via edx-celeryutils -kombu==5.3.5 +kombu==5.3.6 # via celery -newrelic==9.7.0 +newrelic==9.8.0 # via edx-django-utils pbr==6.0.0 # via stevedore @@ -73,14 +75,12 @@ prompt-toolkit==3.0.43 # via click-repl psutil==5.9.8 # via edx-django-utils -pycparser==2.21 +pycparser==2.22 # via cffi pynacl==1.5.0 # via edx-django-utils -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 # via celery -pytz==2024.1 - # via djangorestframework simplejson==3.19.2 # via -r requirements/base.in six==1.16.0 @@ -89,7 +89,7 @@ sqlparse==0.4.4 # via django stevedore==5.2.0 # via edx-django-utils -typing-extensions==4.9.0 +typing-extensions==4.10.0 # via # asgiref # kombu @@ -104,3 +104,8 @@ vine==5.1.0 # kombu wcwidth==0.2.13 # via prompt-toolkit +wheel==0.43.0 + # via -r requirements/base.in + +# The following packages are considered to be unsafe in a requirements file: +# setuptools diff --git a/requirements/celery53.txt b/requirements/celery53.txt index 71b2985..74a9f41 100644 --- a/requirements/celery53.txt +++ b/requirements/celery53.txt @@ -2,8 +2,8 @@ amqp==5.2.0 billiard==4.2.0 celery==5.3.6 click==8.1.7 -click-didyoumean==0.3.0 +click-didyoumean==0.3.1 click-repl==0.3.0 -kombu==5.3.5 +kombu==5.3.6 prompt-toolkit==3.0.43 vine==5.1.0 diff --git a/requirements/ci.txt b/requirements/ci.txt index e7a8760..c085cbc 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 @@ -12,11 +12,11 @@ colorama==0.4.6 # via tox distlib==0.3.8 # via virtualenv -filelock==3.13.1 +filelock==3.13.3 # 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.2 # via -r requirements/ci.in virtualenv==20.25.1 # via tox diff --git a/requirements/common_constraints.txt b/requirements/common_constraints.txt index 5a45d22..e3bf8ea 100644 --- a/requirements/common_constraints.txt +++ b/requirements/common_constraints.txt @@ -13,7 +13,7 @@ # using LTS django version - +Django<5.0 # elasticsearch>=7.14.0 includes breaking changes in it which caused issues in discovery upgrade process. # elastic search changelog: https://www.elastic.co/guide/en/enterprise-search/master/release-notes-7.14.0.html @@ -21,3 +21,12 @@ elasticsearch<7.14.0 # django-simple-history>3.0.0 adds indexing and causes a lot of migrations to be affected django-simple-history==3.0.0 + +# opentelemetry requires version 6.x at the moment: +# https://github.com/open-telemetry/opentelemetry-python/issues/3570 +# Normally this could be added as a constraint in edx-django-utils, where we're +# adding the opentelemetry dependency. However, when we compile pip-tools.txt, +# that uses version 7.x, and then there's no undoing that when compiling base.txt. +# So we need to pin it globally, for now. +# Ticket for unpinning: https://github.com/openedx/edx-lint/issues/407 +importlib-metadata<7 diff --git a/requirements/dev.txt b/requirements/dev.txt index f84cd78..a2dc13a 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -8,11 +8,11 @@ amqp==5.2.0 # via # -r requirements/quality.txt # kombu -asgiref==3.7.2 +asgiref==3.8.1 # via # -r requirements/quality.txt # django -astroid==3.0.3 +astroid==3.1.0 # via # -r requirements/quality.txt # pylint @@ -23,16 +23,17 @@ backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" # -r requirements/quality.txt # celery # django + # djangorestframework # kombu billiard==4.2.0 # via # -r requirements/quality.txt # celery -build==1.0.3 +build==1.2.1 # via # -r requirements/pip-tools.txt # pip-tools -cachetools==5.3.2 +cachetools==5.3.3 # via # -r requirements/ci.txt # tox @@ -63,7 +64,7 @@ click==8.1.7 # edx-django-utils # edx-lint # pip-tools -click-didyoumean==0.3.0 +click-didyoumean==0.3.1 # via # -r requirements/quality.txt # celery @@ -79,7 +80,7 @@ click-repl==0.3.0 # via # -r requirements/quality.txt # celery -code-annotations==1.6.0 +code-annotations==1.7.0 # via # -r requirements/quality.txt # edx-lint @@ -87,11 +88,11 @@ colorama==0.4.6 # via # -r requirements/ci.txt # tox -coverage[toml]==7.4.2 +coverage[toml]==7.4.4 # via # -r requirements/quality.txt # pytest-cov -ddt==1.7.1 +ddt==1.7.2 # via -r requirements/quality.txt diff-cover==8.0.3 # via -r requirements/dev.in @@ -103,8 +104,9 @@ distlib==0.3.8 # via # -r requirements/ci.txt # virtualenv -django==4.2.10 +django==4.2.11 # via + # -c requirements/common_constraints.txt # -r requirements/quality.txt # django-crum # django-model-utils @@ -126,11 +128,11 @@ django-waffle==4.1.0 # via # -r requirements/quality.txt # edx-django-utils -djangorestframework==3.14.0 +djangorestframework==3.15.1 # via -r requirements/quality.txt edx-celeryutils==1.2.5 # via -r requirements/quality.txt -edx-django-utils==5.10.1 +edx-django-utils==5.12.0 # via -r requirements/quality.txt edx-i18n-tools==1.3.0 # via -r requirements/dev.in @@ -140,15 +142,20 @@ exceptiongroup==1.2.0 # via # -r requirements/quality.txt # pytest -filelock==3.13.1 +filelock==3.13.3 # via # -r requirements/ci.txt # tox # virtualenv freezegun==1.4.0 # via -r requirements/quality.txt -importlib-metadata==7.0.1 +greenlet==3.0.3 + # via + # -r requirements/quality.txt + # sqlalchemy +importlib-metadata==6.11.0 # via + # -c requirements/common_constraints.txt # -r requirements/pip-tools.txt # build iniconfig==2.0.0 @@ -168,11 +175,11 @@ jsonfield==3.1.0 # via # -r requirements/quality.txt # edx-celeryutils -kombu==5.3.5 +kombu==5.3.6 # via # -r requirements/quality.txt # celery -lxml==5.1.0 +lxml==5.2.0 # via edx-i18n-tools markupsafe==2.1.5 # via @@ -184,11 +191,11 @@ mccabe==0.7.0 # pylint mock==5.1.0 # via -r requirements/quality.txt -newrelic==9.7.0 +newrelic==9.8.0 # via # -r requirements/quality.txt # edx-django-utils -packaging==23.2 +packaging==24.0 # via # -r requirements/ci.txt # -r requirements/pip-tools.txt @@ -203,7 +210,7 @@ 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 platformdirs==4.2.0 # via @@ -231,7 +238,7 @@ psutil==5.9.8 # edx-django-utils pycodestyle==2.11.1 # via -r requirements/quality.txt -pycparser==2.21 +pycparser==2.22 # via # -r requirements/quality.txt # cffi @@ -239,7 +246,7 @@ pydocstyle==6.3.0 # via -r requirements/quality.txt pygments==2.17.2 # via diff-cover -pylint==3.0.3 +pylint==3.1.0 # via # -r requirements/quality.txt # edx-lint @@ -272,16 +279,16 @@ 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 # pytest-django -pytest-cov==4.1.0 +pytest-cov==5.0.0 # via -r requirements/quality.txt pytest-django==4.8.0 # via -r requirements/quality.txt -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 # via # -r requirements/quality.txt # celery @@ -290,10 +297,6 @@ python-slugify==8.0.4 # via # -r requirements/quality.txt # code-annotations -pytz==2024.1 - # via - # -r requirements/quality.txt - # djangorestframework pyyaml==6.0.1 # via # -r requirements/quality.txt @@ -310,7 +313,7 @@ snowballstemmer==2.2.0 # via # -r requirements/quality.txt # pydocstyle -sqlalchemy==2.0.27 +sqlalchemy==2.0.29 # via -r requirements/quality.txt sqlparse==0.4.4 # via @@ -338,13 +341,13 @@ 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.2 # via -r requirements/ci.txt -typing-extensions==4.9.0 +typing-extensions==4.10.0 # via # -r requirements/quality.txt # asgiref @@ -371,11 +374,12 @@ wcwidth==0.2.13 # via # -r requirements/quality.txt # prompt-toolkit -wheel==0.42.0 +wheel==0.43.0 # via # -r requirements/pip-tools.txt + # -r requirements/quality.txt # pip-tools -zipp==3.17.0 +zipp==3.18.1 # via # -r requirements/pip-tools.txt # importlib-metadata diff --git a/requirements/doc.txt b/requirements/doc.txt index 8f02481..1be91c4 100644 --- a/requirements/doc.txt +++ b/requirements/doc.txt @@ -12,7 +12,7 @@ amqp==5.2.0 # via # -r requirements/test.txt # kombu -asgiref==3.7.2 +asgiref==3.8.1 # via # -r requirements/test.txt # django @@ -26,6 +26,7 @@ backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" # -r requirements/test.txt # celery # django + # djangorestframework # kombu beautifulsoup4==4.12.3 # via pydata-sphinx-theme @@ -43,6 +44,7 @@ certifi==2024.2.2 cffi==1.16.0 # via # -r requirements/test.txt + # cryptography # pynacl charset-normalizer==3.3.2 # via requests @@ -55,7 +57,7 @@ click==8.1.7 # click-repl # code-annotations # edx-django-utils -click-didyoumean==0.3.0 +click-didyoumean==0.3.1 # via # -r requirements/test.txt # celery @@ -67,16 +69,19 @@ click-repl==0.3.0 # via # -r requirements/test.txt # celery -code-annotations==1.6.0 +code-annotations==1.7.0 # via -r requirements/test.txt -coverage[toml]==7.4.2 +coverage[toml]==7.4.4 # via # -r requirements/test.txt # pytest-cov -ddt==1.7.1 +cryptography==42.0.5 + # via secretstorage +ddt==1.7.2 # via -r requirements/test.txt -django==4.2.10 +django==4.2.11 # via + # -c requirements/common_constraints.txt # -r requirements/test.txt # django-crum # django-model-utils @@ -97,7 +102,7 @@ django-waffle==4.1.0 # via # -r requirements/test.txt # edx-django-utils -djangorestframework==3.14.0 +djangorestframework==3.15.1 # via -r requirements/test.txt doc8==1.1.1 # via -r requirements/doc.in @@ -110,7 +115,7 @@ docutils==0.19 # sphinx edx-celeryutils==1.2.5 # via -r requirements/test.txt -edx-django-utils==5.10.1 +edx-django-utils==5.12.0 # via -r requirements/test.txt exceptiongroup==1.2.0 # via @@ -118,23 +123,36 @@ exceptiongroup==1.2.0 # pytest freezegun==1.4.0 # via -r requirements/test.txt +greenlet==3.0.3 + # via + # -r requirements/test.txt + # sqlalchemy idna==3.6 # via requests imagesize==1.4.1 # via sphinx -importlib-metadata==7.0.1 +importlib-metadata==6.11.0 # via + # -c requirements/common_constraints.txt # keyring # sphinx # twine -importlib-resources==6.1.1 +importlib-resources==6.4.0 # via keyring iniconfig==2.0.0 # via # -r requirements/test.txt # pytest -jaraco-classes==3.3.1 +jaraco-classes==3.4.0 # via keyring +jaraco-context==4.3.0 + # via keyring +jaraco-functools==4.0.0 + # via keyring +jeepney==0.8.0 + # via + # keyring + # secretstorage jinja2==3.1.3 # via # -r requirements/test.txt @@ -144,9 +162,9 @@ jsonfield==3.1.0 # via # -r requirements/test.txt # edx-celeryutils -keyring==24.3.0 +keyring==25.0.0 # via twine -kombu==5.3.5 +kombu==5.3.6 # via # -r requirements/test.txt # celery @@ -161,14 +179,16 @@ mdurl==0.1.2 mock==5.1.0 # via -r requirements/test.txt more-itertools==10.2.0 - # via jaraco-classes -newrelic==9.7.0 + # via + # jaraco-classes + # jaraco-functools +newrelic==9.8.0 # via # -r requirements/test.txt # edx-django-utils -nh3==0.2.15 +nh3==0.2.17 # via readme-renderer -packaging==23.2 +packaging==24.0 # via # -r requirements/test.txt # pydata-sphinx-theme @@ -178,7 +198,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 @@ -192,7 +212,7 @@ psutil==5.9.8 # via # -r requirements/test.txt # edx-django-utils -pycparser==2.21 +pycparser==2.22 # via # -r requirements/test.txt # cffi @@ -210,16 +230,16 @@ 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 # pytest-django -pytest-cov==4.1.0 +pytest-cov==5.0.0 # via -r requirements/test.txt pytest-django==4.8.0 # via -r requirements/test.txt -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 # via # -r requirements/test.txt # celery @@ -229,15 +249,12 @@ python-slugify==8.0.4 # -r requirements/test.txt # code-annotations pytz==2024.1 - # via - # -r requirements/test.txt - # babel - # djangorestframework + # 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 @@ -250,8 +267,10 @@ 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 simplejson==3.19.2 # via -r requirements/test.txt six==1.16.0 @@ -281,7 +300,7 @@ sphinxcontrib-qthelp==1.0.3 # via sphinx sphinxcontrib-serializinghtml==1.1.5 # via sphinx -sqlalchemy==2.0.27 +sqlalchemy==2.0.29 # via -r requirements/test.txt sqlparse==0.4.4 # via @@ -305,7 +324,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 @@ -332,7 +351,9 @@ wcwidth==0.2.13 # via # -r requirements/test.txt # prompt-toolkit -zipp==3.17.0 +wheel==0.43.0 + # via -r requirements/test.txt +zipp==3.18.1 # via # importlib-metadata # importlib-resources diff --git a/requirements/pip-tools.txt b/requirements/pip-tools.txt index 44c48d9..6401f54 100644 --- a/requirements/pip-tools.txt +++ b/requirements/pip-tools.txt @@ -4,15 +4,17 @@ # # make upgrade # -build==1.0.3 +build==1.2.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 requirements/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 71954cc..cf44902 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 c36c164..863dde9 100644 --- a/requirements/quality.txt +++ b/requirements/quality.txt @@ -8,11 +8,11 @@ amqp==5.2.0 # via # -r requirements/test.txt # kombu -asgiref==3.7.2 +asgiref==3.8.1 # via # -r requirements/test.txt # django -astroid==3.0.3 +astroid==3.1.0 # via # pylint # pylint-celery @@ -22,6 +22,7 @@ backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" # -r requirements/test.txt # celery # django + # djangorestframework # kombu billiard==4.2.0 # via @@ -47,7 +48,7 @@ click==8.1.7 # code-annotations # edx-django-utils # edx-lint -click-didyoumean==0.3.0 +click-didyoumean==0.3.1 # via # -r requirements/test.txt # celery @@ -61,20 +62,21 @@ click-repl==0.3.0 # via # -r requirements/test.txt # celery -code-annotations==1.6.0 +code-annotations==1.7.0 # via # -r requirements/test.txt # edx-lint -coverage[toml]==7.4.2 +coverage[toml]==7.4.4 # via # -r requirements/test.txt # pytest-cov -ddt==1.7.1 +ddt==1.7.2 # via -r requirements/test.txt dill==0.3.8 # via pylint -django==4.2.10 +django==4.2.11 # via + # -c requirements/common_constraints.txt # -r requirements/test.txt # django-crum # django-model-utils @@ -95,11 +97,11 @@ django-waffle==4.1.0 # via # -r requirements/test.txt # edx-django-utils -djangorestframework==3.14.0 +djangorestframework==3.15.1 # via -r requirements/test.txt edx-celeryutils==1.2.5 # via -r requirements/test.txt -edx-django-utils==5.10.1 +edx-django-utils==5.12.0 # via -r requirements/test.txt edx-lint==5.3.6 # via -r requirements/quality.in @@ -109,6 +111,10 @@ exceptiongroup==1.2.0 # pytest freezegun==1.4.0 # via -r requirements/test.txt +greenlet==3.0.3 + # via + # -r requirements/test.txt + # sqlalchemy iniconfig==2.0.0 # via # -r requirements/test.txt @@ -125,7 +131,7 @@ jsonfield==3.1.0 # via # -r requirements/test.txt # edx-celeryutils -kombu==5.3.5 +kombu==5.3.6 # via # -r requirements/test.txt # celery @@ -137,11 +143,11 @@ mccabe==0.7.0 # via pylint mock==5.1.0 # via -r requirements/test.txt -newrelic==9.7.0 +newrelic==9.8.0 # via # -r requirements/test.txt # edx-django-utils -packaging==23.2 +packaging==24.0 # via # -r requirements/test.txt # pytest @@ -165,13 +171,13 @@ psutil==5.9.8 # edx-django-utils pycodestyle==2.11.1 # via -r requirements/quality.in -pycparser==2.21 +pycparser==2.22 # via # -r requirements/test.txt # cffi pydocstyle==6.3.0 # via -r requirements/quality.in -pylint==3.0.3 +pylint==3.1.0 # via # edx-lint # pylint-celery @@ -189,16 +195,16 @@ 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 # pytest-django -pytest-cov==4.1.0 +pytest-cov==5.0.0 # via -r requirements/test.txt pytest-django==4.8.0 # via -r requirements/test.txt -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 # via # -r requirements/test.txt # celery @@ -207,10 +213,6 @@ python-slugify==8.0.4 # via # -r requirements/test.txt # code-annotations -pytz==2024.1 - # via - # -r requirements/test.txt - # djangorestframework pyyaml==6.0.1 # via # -r requirements/test.txt @@ -224,7 +226,7 @@ six==1.16.0 # python-dateutil snowballstemmer==2.2.0 # via pydocstyle -sqlalchemy==2.0.27 +sqlalchemy==2.0.29 # via -r requirements/test.txt sqlparse==0.4.4 # via @@ -245,9 +247,9 @@ tomli==2.0.1 # coverage # pylint # pytest -tomlkit==0.12.3 +tomlkit==0.12.4 # via pylint -typing-extensions==4.9.0 +typing-extensions==4.10.0 # via # -r requirements/test.txt # asgiref @@ -270,3 +272,5 @@ wcwidth==0.2.13 # via # -r requirements/test.txt # prompt-toolkit +wheel==0.43.0 + # via -r requirements/test.txt diff --git a/requirements/test.txt b/requirements/test.txt index f6d338f..2e82913 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -7,7 +7,7 @@ # via # -r requirements/base.txt # kombu -asgiref==3.7.2 +asgiref==3.8.1 # via # -r requirements/base.txt # django @@ -17,6 +17,7 @@ backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" # -r requirements/base.txt # celery # django + # djangorestframework # kombu # via # -r requirements/base.txt @@ -38,7 +39,7 @@ click==8.1.7 # click-repl # code-annotations # edx-django-utils -click-didyoumean==0.3.0 +click-didyoumean==0.3.1 # via # -r requirements/base.txt # celery @@ -50,13 +51,14 @@ click-repl==0.3.0 # via # -r requirements/base.txt # celery -code-annotations==1.6.0 +code-annotations==1.7.0 # via -r requirements/test.in -coverage[toml]==7.4.2 +coverage[toml]==7.4.4 # via pytest-cov -ddt==1.7.1 +ddt==1.7.2 # via -r requirements/test.in # via + # -c requirements/common_constraints.txt # -r requirements/base.txt # django-crum # django-model-utils @@ -80,12 +82,14 @@ django-waffle==4.1.0 # via -r requirements/base.txt edx-celeryutils==1.2.5 # via -r requirements/base.txt -edx-django-utils==5.10.1 +edx-django-utils==5.12.0 # via -r requirements/base.txt exceptiongroup==1.2.0 # via pytest freezegun==1.4.0 # via -r requirements/test.in +greenlet==3.0.3 + # via sqlalchemy iniconfig==2.0.0 # via pytest jinja2==3.1.3 @@ -101,11 +105,11 @@ markupsafe==2.1.5 # via jinja2 mock==5.1.0 # via -r requirements/test.in -newrelic==9.7.0 +newrelic==9.8.0 # via # -r requirements/base.txt # edx-django-utils -packaging==23.2 +packaging==24.0 # via pytest pbr==6.0.0 # via @@ -121,7 +125,7 @@ psutil==5.9.8 # via # -r requirements/base.txt # edx-django-utils -pycparser==2.21 +pycparser==2.22 # via # -r requirements/base.txt # cffi @@ -129,25 +133,21 @@ 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 -pytest-cov==4.1.0 +pytest-cov==5.0.0 # via -r requirements/test.in pytest-django==4.8.0 # via -r requirements/test.in -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 # via # -r requirements/base.txt # celery # freezegun python-slugify==8.0.4 # via code-annotations -pytz==2024.1 - # via - # -r requirements/base.txt - # djangorestframework pyyaml==6.0.1 # via code-annotations simplejson==3.19.2 @@ -156,7 +156,7 @@ six==1.16.0 # via # -r requirements/base.txt # python-dateutil -sqlalchemy==2.0.27 +sqlalchemy==2.0.29 # via -r requirements/test.in sqlparse==0.4.4 # via @@ -173,7 +173,7 @@ tomli==2.0.1 # via # coverage # pytest -typing-extensions==4.9.0 +typing-extensions==4.10.0 # via # -r requirements/base.txt # asgiref @@ -193,3 +193,5 @@ wcwidth==0.2.13 # via # -r requirements/base.txt # prompt-toolkit +wheel==0.43.0 + # via -r requirements/base.txt From 8ef95ff410cace44d8584041c608187b1e1804e9 Mon Sep 17 00:00:00 2001 From: Awais Qureshi Date: Sun, 31 Mar 2024 23:04:41 +0500 Subject: [PATCH 5/9] feat: Update ci.yml --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b037b71..fe71289 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,7 +14,7 @@ jobs: strategy: matrix: os: [ubuntu-20.04] - python-version: ["3.8", "3.12"] + python-version: ["3.8", "3.11", "3.12"] toxenv: [ django42-celery53-drflatest, From 23ccd98915491944490a44dfd9b2f5af0740ff2b Mon Sep 17 00:00:00 2001 From: Awais Qureshi Date: Wed, 3 Apr 2024 14:51:38 +0500 Subject: [PATCH 6/9] fix: Update tox.ini --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index cac4e2a..ce32516 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py{38,312}-django{42}-celery{50}-drf{latest} +envlist = py{38,311,312}-django{42}-celery{50}-drf{latest} [testenv] deps = From f5ee24d0a364237cd3b09d2c1bf598b96fba36bd Mon Sep 17 00:00:00 2001 From: Awais Qureshi Date: Thu, 4 Apr 2024 13:51:21 +0500 Subject: [PATCH 7/9] fix: Update Makefile --- Makefile | 2 -- 1 file changed, 2 deletions(-) diff --git a/Makefile b/Makefile index b1bccdd..af51692 100644 --- a/Makefile +++ b/Makefile @@ -42,8 +42,6 @@ upgrade: $(COMMON_CONSTRAINTS_TXT) ## update the requirements/*.txt files with pip-compile --upgrade -o requirements/pip-tools.txt requirements/pip-tools.in pip install -qr requirements/pip.txt pip install -qr requirements/pip-tools.txt - sed 's/Django<4.0//g' requirements/common_constraints.txt > requirements/common_constraints.tmp - mv requirements/common_constraints.tmp requirements/common_constraints.txt pip-compile --upgrade -o requirements/base.txt requirements/base.in pip-compile --upgrade -o requirements/test.txt requirements/test.in pip-compile --upgrade -o requirements/doc.txt requirements/doc.in From af72fb3a17657e6fb6fdaa2b62e33dd188460e94 Mon Sep 17 00:00:00 2001 From: awais qureshi Date: Sat, 6 Apr 2024 15:03:48 +0500 Subject: [PATCH 8/9] feat: adding python3.11 and 3.12 support. --- requirements/base.in | 2 -- 1 file changed, 2 deletions(-) diff --git a/requirements/base.in b/requirements/base.in index 90122f7..cd6f4ba 100644 --- a/requirements/base.in +++ b/requirements/base.in @@ -8,5 +8,3 @@ djangorestframework edx-celeryutils edx-django-utils>=3.12.0 # Utilities for caching and monitoring simplejson -setuptools -wheel From 4dd4a50a5cedf1139fd3d9d695fafa7961156495 Mon Sep 17 00:00:00 2001 From: edX requirements bot Date: Sat, 6 Apr 2024 06:05:08 -0400 Subject: [PATCH 9/9] chore: Updating Python Requirements --- requirements/base.txt | 11 +++-------- requirements/dev.txt | 13 ++++++------- requirements/doc.txt | 14 ++++++-------- requirements/quality.txt | 10 ++++------ requirements/test.txt | 10 ++++------ 5 files changed, 23 insertions(+), 35 deletions(-) diff --git a/requirements/base.txt b/requirements/base.txt index 2793603..79bea56 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -51,7 +51,7 @@ django-crum==0.7.9 # via # -r requirements/base.in # edx-django-utils -django-model-utils==4.4.0 +django-model-utils==4.5.0 # via # -r requirements/base.in # edx-celeryutils @@ -59,7 +59,7 @@ django-waffle==4.1.0 # via edx-django-utils djangorestframework==3.15.1 # via -r requirements/base.in -edx-celeryutils==1.2.5 +edx-celeryutils==1.3.0 # via -r requirements/base.in edx-django-utils==5.12.0 # via -r requirements/base.in @@ -89,7 +89,7 @@ sqlparse==0.4.4 # via django stevedore==5.2.0 # via edx-django-utils -typing-extensions==4.10.0 +typing-extensions==4.11.0 # via # asgiref # kombu @@ -104,8 +104,3 @@ vine==5.1.0 # kombu wcwidth==0.2.13 # via prompt-toolkit -wheel==0.43.0 - # via -r requirements/base.in - -# The following packages are considered to be unsafe in a requirements file: -# setuptools diff --git a/requirements/dev.txt b/requirements/dev.txt index a2dc13a..1a10f8e 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -80,7 +80,7 @@ click-repl==0.3.0 # via # -r requirements/quality.txt # celery -code-annotations==1.7.0 +code-annotations==1.8.0 # via # -r requirements/quality.txt # edx-lint @@ -120,7 +120,7 @@ django-crum==0.7.9 # via # -r requirements/quality.txt # edx-django-utils -django-model-utils==4.4.0 +django-model-utils==4.5.0 # via # -r requirements/quality.txt # edx-celeryutils @@ -130,7 +130,7 @@ django-waffle==4.1.0 # edx-django-utils djangorestframework==3.15.1 # via -r requirements/quality.txt -edx-celeryutils==1.2.5 +edx-celeryutils==1.3.0 # via -r requirements/quality.txt edx-django-utils==5.12.0 # via -r requirements/quality.txt @@ -179,7 +179,7 @@ kombu==5.3.6 # via # -r requirements/quality.txt # celery -lxml==5.2.0 +lxml==5.2.1 # via edx-i18n-tools markupsafe==2.1.5 # via @@ -204,7 +204,7 @@ packaging==24.0 # pyproject-api # pytest # tox -path==16.10.0 +path==16.12.1 # via edx-i18n-tools pbr==6.0.0 # via @@ -347,7 +347,7 @@ tomlkit==0.12.4 # pylint tox==4.14.2 # via -r requirements/ci.txt -typing-extensions==4.10.0 +typing-extensions==4.11.0 # via # -r requirements/quality.txt # asgiref @@ -377,7 +377,6 @@ wcwidth==0.2.13 wheel==0.43.0 # via # -r requirements/pip-tools.txt - # -r requirements/quality.txt # pip-tools zipp==3.18.1 # via diff --git a/requirements/doc.txt b/requirements/doc.txt index 1be91c4..a3ea29e 100644 --- a/requirements/doc.txt +++ b/requirements/doc.txt @@ -69,7 +69,7 @@ click-repl==0.3.0 # via # -r requirements/test.txt # celery -code-annotations==1.7.0 +code-annotations==1.8.0 # via -r requirements/test.txt coverage[toml]==7.4.4 # via @@ -94,7 +94,7 @@ django-crum==0.7.9 # via # -r requirements/test.txt # edx-django-utils -django-model-utils==4.4.0 +django-model-utils==4.5.0 # via # -r requirements/test.txt # edx-celeryutils @@ -113,7 +113,7 @@ docutils==0.19 # readme-renderer # restructuredtext-lint # sphinx -edx-celeryutils==1.2.5 +edx-celeryutils==1.3.0 # via -r requirements/test.txt edx-django-utils==5.12.0 # via -r requirements/test.txt @@ -145,7 +145,7 @@ iniconfig==2.0.0 # pytest jaraco-classes==3.4.0 # via keyring -jaraco-context==4.3.0 +jaraco-context==5.1.0 # via keyring jaraco-functools==4.0.0 # via keyring @@ -162,7 +162,7 @@ jsonfield==3.1.0 # via # -r requirements/test.txt # edx-celeryutils -keyring==25.0.0 +keyring==25.1.0 # via twine kombu==5.3.6 # via @@ -324,7 +324,7 @@ tomli==2.0.1 # pytest twine==5.0.0 # via -r requirements/doc.in -typing-extensions==4.10.0 +typing-extensions==4.11.0 # via # -r requirements/test.txt # asgiref @@ -351,8 +351,6 @@ wcwidth==0.2.13 # via # -r requirements/test.txt # prompt-toolkit -wheel==0.43.0 - # via -r requirements/test.txt zipp==3.18.1 # via # importlib-metadata diff --git a/requirements/quality.txt b/requirements/quality.txt index 863dde9..18b8356 100644 --- a/requirements/quality.txt +++ b/requirements/quality.txt @@ -62,7 +62,7 @@ click-repl==0.3.0 # via # -r requirements/test.txt # celery -code-annotations==1.7.0 +code-annotations==1.8.0 # via # -r requirements/test.txt # edx-lint @@ -89,7 +89,7 @@ django-crum==0.7.9 # via # -r requirements/test.txt # edx-django-utils -django-model-utils==4.4.0 +django-model-utils==4.5.0 # via # -r requirements/test.txt # edx-celeryutils @@ -99,7 +99,7 @@ django-waffle==4.1.0 # edx-django-utils djangorestframework==3.15.1 # via -r requirements/test.txt -edx-celeryutils==1.2.5 +edx-celeryutils==1.3.0 # via -r requirements/test.txt edx-django-utils==5.12.0 # via -r requirements/test.txt @@ -249,7 +249,7 @@ tomli==2.0.1 # pytest tomlkit==0.12.4 # via pylint -typing-extensions==4.10.0 +typing-extensions==4.11.0 # via # -r requirements/test.txt # asgiref @@ -272,5 +272,3 @@ wcwidth==0.2.13 # via # -r requirements/test.txt # prompt-toolkit -wheel==0.43.0 - # via -r requirements/test.txt diff --git a/requirements/test.txt b/requirements/test.txt index 2e82913..e7123bd 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -51,7 +51,7 @@ click-repl==0.3.0 # via # -r requirements/base.txt # celery -code-annotations==1.7.0 +code-annotations==1.8.0 # via -r requirements/test.in coverage[toml]==7.4.4 # via pytest-cov @@ -71,7 +71,7 @@ django-crum==0.7.9 # via # -r requirements/base.txt # edx-django-utils -django-model-utils==4.4.0 +django-model-utils==4.5.0 # via # -r requirements/base.txt # edx-celeryutils @@ -80,7 +80,7 @@ django-waffle==4.1.0 # -r requirements/base.txt # edx-django-utils # via -r requirements/base.txt -edx-celeryutils==1.2.5 +edx-celeryutils==1.3.0 # via -r requirements/base.txt edx-django-utils==5.12.0 # via -r requirements/base.txt @@ -173,7 +173,7 @@ tomli==2.0.1 # via # coverage # pytest -typing-extensions==4.10.0 +typing-extensions==4.11.0 # via # -r requirements/base.txt # asgiref @@ -193,5 +193,3 @@ wcwidth==0.2.13 # via # -r requirements/base.txt # prompt-toolkit -wheel==0.43.0 - # via -r requirements/base.txt