From 733706e9f536d4169f393f54bdb39b02c122fb58 Mon Sep 17 00:00:00 2001 From: awais qureshi <awais.qureshi@arbisoft.com> Date: Wed, 28 Feb 2024 18:33:10 +0500 Subject: [PATCH 01/10] feat: python3.12 support. --- .github/workflows/ci.yml | 4 +--- tox.ini | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e9448f8..042d0d9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,11 +14,9 @@ jobs: strategy: matrix: os: [ubuntu-20.04] - python-version: ["3.8"] + python-version: ["3.8", "3.12"] toxenv: [ - py38-django32-drf312, - py38-django32-drflatest, py38-django42-drflatest, quality, ] diff --git a/tox.ini b/tox.ini index 1c380fb..6fa7929 100644 --- a/tox.ini +++ b/tox.ini @@ -1,7 +1,6 @@ [tox] envlist = - py38-django{32}-drf{312, latest} - py38-django{42}-drf{latest} # Django 4.2 is not supported by DRF < 3.14 + py{38,312}-django{42}-drf{latest} # Django 4.2 is not supported by DRF < 3.14 quality [pytest] @@ -11,7 +10,6 @@ norecursedirs = .* docs requirements [testenv] deps = - django32: Django>=3.2,<4.0 django42: Django>=4.2,<4.3 drf312: djangorestframework>=3.13,<3.14 drflatest: djangorestframework From fa61ff2e83901411f39c8431f132d1fe3a31d723 Mon Sep 17 00:00:00 2001 From: awais qureshi <awais.qureshi@arbisoft.com> Date: Wed, 28 Feb 2024 18:35:38 +0500 Subject: [PATCH 02/10] feat: python3.12 support. --- tox.ini | 1 - 1 file changed, 1 deletion(-) diff --git a/tox.ini b/tox.ini index 6fa7929..68ebc15 100644 --- a/tox.ini +++ b/tox.ini @@ -11,7 +11,6 @@ norecursedirs = .* docs requirements [testenv] deps = django42: Django>=4.2,<4.3 - drf312: djangorestframework>=3.13,<3.14 drflatest: djangorestframework -r{toxinidir}/requirements/test.txt commands = From 76965f418b5da1f02c6b77fe55ee051090433f50 Mon Sep 17 00:00:00 2001 From: awais qureshi <awais.qureshi@arbisoft.com> Date: Wed, 28 Feb 2024 18:37:13 +0500 Subject: [PATCH 03/10] feat: python3.12 support. --- .github/workflows/ci.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 042d0d9..840f82e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,8 +17,7 @@ jobs: python-version: ["3.8", "3.12"] toxenv: [ - py38-django42-drflatest, - quality, + py38-django42-drflatest,quality ] steps: From 1f7f9fbc5305eed8bfb42356e80e7f79be0a7367 Mon Sep 17 00:00:00 2001 From: awais qureshi <awais.qureshi@arbisoft.com> Date: Wed, 28 Feb 2024 18:47:42 +0500 Subject: [PATCH 04/10] feat: python3.12 support. --- tox.ini | 1 + 1 file changed, 1 insertion(+) diff --git a/tox.ini b/tox.ini index 68ebc15..3a51fd2 100644 --- a/tox.ini +++ b/tox.ini @@ -35,6 +35,7 @@ allowlist_externals = make rm deps = + setuptools -r{toxinidir}/requirements/quality.txt commands = make quality From c1b1d4c75af815d16a938bc5025fc58da4992acf Mon Sep 17 00:00:00 2001 From: awais qureshi <awais.qureshi@arbisoft.com> Date: Wed, 28 Feb 2024 19:07:57 +0500 Subject: [PATCH 05/10] feat: python3.12 support. --- CHANGELOG.rst | 7 ++++ Makefile | 14 +++++++- edx_api_doc_tools/__init__.py | 2 +- requirements/base.txt | 10 +++--- requirements/ci.txt | 2 +- requirements/common_constraints.txt | 15 +++++++++ requirements/constraints.txt | 4 ++- requirements/dev.txt | 52 ++++++++++------------------- requirements/doc.txt | 35 ++++++++----------- requirements/pip.txt | 2 +- requirements/quality.txt | 41 +++++++++-------------- requirements/test.txt | 13 +++++--- 12 files changed, 101 insertions(+), 96 deletions(-) create mode 100644 requirements/common_constraints.txt diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 07d7879..2588140 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -14,6 +14,13 @@ Change Log Unreleased ---------- +1.8.0 --- 2024-02-29 +-------------------- +* Add support for python 3.12 support. +* Removed django32 support. + + + 1.7.0 --- 2023-07-23 -------------------- diff --git a/Makefile b/Makefile index 6aca9e1..33419d8 100644 --- a/Makefile +++ b/Makefile @@ -48,10 +48,22 @@ pip: upgrade-pip-tools: pip-tools pip-compile --upgrade requirements/pip-tools.in +define COMMON_CONSTRAINTS_TEMP_COMMENT +# This is a temporary solution to override the real common_constraints.txt\n# In edx-lint, until the pyjwt constraint in edx-lint has been removed.\n# See BOM-2721 for more details.\n# Below is the copied and edited version of common_constraints\n +endef + +COMMON_CONSTRAINTS_TXT=requirements/common_constraints.txt +.PHONY: $(COMMON_CONSTRAINTS_TXT) +$(COMMON_CONSTRAINTS_TXT): + wget -O "$(@)" https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt || touch "$(@)" + echo "$(COMMON_CONSTRAINTS_TEMP_COMMENT)" | cat - $(@) > temp && mv temp $(@) + upgrade: export CUSTOM_COMPILE_COMMAND=make upgrade -upgrade: ## update the requirements/*.txt files with the latest packages satisfying requirements/*.in +upgrade: $(COMMON_CONSTRAINTS_TXT) ## update the requirements/*.txt files with the latest packages satisfying requirements/*.in # Make sure to compile files after any other files they include! 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/pip-tools.txt requirements/pip-tools.in pip-compile --upgrade --allow-unsafe --rebuild -o requirements/pip.txt requirements/pip.in pip install -qr requirements/pip-tools.txt diff --git a/edx_api_doc_tools/__init__.py b/edx_api_doc_tools/__init__.py index 201177b..d4926a4 100644 --- a/edx_api_doc_tools/__init__.py +++ b/edx_api_doc_tools/__init__.py @@ -46,4 +46,4 @@ ) -__version__ = '1.7.0' +__version__ = '1.8.0' diff --git a/requirements/base.txt b/requirements/base.txt index 1ffbefe..c73eeb3 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -6,9 +6,12 @@ # asgiref==3.7.2 # via django -django==3.2.24 +backports-zoneinfo==0.2.1 ; python_version < "3.9" + # via + # -c requirements/constraints.txt + # django +django==4.2.10 # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/base.in # djangorestframework # drf-yasg @@ -24,14 +27,13 @@ packaging==23.2 # via drf-yasg pytz==2024.1 # via - # django # djangorestframework # drf-yasg pyyaml==6.0.1 # via drf-yasg sqlparse==0.4.4 # via django -typing-extensions==4.9.0 +typing-extensions==4.10.0 # via asgiref uritemplate==4.1.1 # via drf-yasg diff --git a/requirements/ci.txt b/requirements/ci.txt index e7a8760..88a39ff 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 diff --git a/requirements/common_constraints.txt b/requirements/common_constraints.txt new file mode 100644 index 0000000..a971933 --- /dev/null +++ b/requirements/common_constraints.txt @@ -0,0 +1,15 @@ +# This is a temporary solution to override the real common_constraints.txt +# In edx-lint, until the pyjwt constraint in edx-lint has been removed. +# See BOM-2721 for more details. +# Below is the copied and edited version of common_constraints + +# This is a temporary solution to override the real common_constraints.txt +# In edx-lint, until the pyjwt constraint in edx-lint has been removed. +# See BOM-2721 for more details. +# Below is the copied and edited version of common_constraints + +# This is a temporary solution to override the real common_constraints.txt +# In edx-lint, until the pyjwt constraint in edx-lint has been removed. +# See BOM-2721 for more details. +# Below is the copied and edited version of common_constraints + diff --git a/requirements/constraints.txt b/requirements/constraints.txt index 7be88d2..5801947 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -9,4 +9,6 @@ # linking to it here is good. # Common constraints for edx repos --c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt +-c common_constraints.txt + +backports.zoneinfo;python_version<"3.9" diff --git a/requirements/dev.txt b/requirements/dev.txt index 27deda6..345701b 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -8,16 +8,21 @@ asgiref==3.7.2 # via # -r requirements/quality.txt # django -astroid==3.0.3 +astroid==3.1.0 # via # -r requirements/quality.txt # pylint # pylint-celery +backports-zoneinfo==0.2.1 ; python_version < "3.9" + # via + # -c requirements/constraints.txt + # -r requirements/quality.txt + # django build==1.0.3 # via # -r requirements/pip-tools.txt # pip-tools -cachetools==5.3.2 +cachetools==5.3.3 # via # -r requirements/ci.txt # tox @@ -25,10 +30,6 @@ certifi==2024.2.2 # via # -r requirements/quality.txt # requests -cffi==1.16.0 - # via - # -r requirements/quality.txt - # cryptography chardet==5.2.0 # via # -r requirements/ci.txt @@ -58,14 +59,10 @@ colorama==0.4.6 # via # -r requirements/ci.txt # tox -coverage[toml]==7.4.2 +coverage[toml]==7.4.3 # via # -r requirements/quality.txt # pytest-cov -cryptography==42.0.4 - # via - # -r requirements/quality.txt - # secretstorage diff-cover==8.0.3 # via -r requirements/dev.in dill==0.3.8 @@ -76,9 +73,8 @@ distlib==0.3.8 # via # -r requirements/ci.txt # virtualenv -django==3.2.24 +django==4.2.10 # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/quality.txt # djangorestframework # drf-yasg @@ -117,7 +113,7 @@ importlib-metadata==7.0.1 # build # keyring # twine -importlib-resources==6.1.1 +importlib-resources==6.1.2 # via # -r requirements/quality.txt # keyring @@ -137,17 +133,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 @@ -217,10 +208,6 @@ polib==1.2.0 # via edx-i18n-tools pycodestyle==2.11.1 # via -r requirements/quality.txt -pycparser==2.21 - # via - # -r requirements/quality.txt - # cffi pydocstyle==6.3.0 # via -r requirements/quality.txt pygments==2.17.2 @@ -229,7 +216,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 @@ -258,7 +245,7 @@ pyproject-hooks==1.0.0 # -r requirements/pip-tools.txt # build # pip-tools -pytest==8.0.1 +pytest==8.0.2 # via # -r requirements/quality.txt # pytest-cov @@ -274,7 +261,6 @@ python-slugify==8.0.4 pytz==2024.1 # via # -r requirements/quality.txt - # django # djangorestframework # drf-yasg pyyaml==6.0.1 @@ -283,7 +269,7 @@ pyyaml==6.0.1 # code-annotations # drf-yasg # edx-i18n-tools -readme-renderer==42.0 +readme-renderer==43.0 # via # -r requirements/quality.txt # twine @@ -304,10 +290,6 @@ rich==13.7.0 # 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 @@ -320,7 +302,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 @@ -341,7 +323,7 @@ tomli==2.0.1 # pyproject-hooks # pytest # tox -tomlkit==0.12.3 +tomlkit==0.12.4 # via # -r requirements/quality.txt # pylint @@ -349,7 +331,7 @@ tox==4.13.0 # 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 diff --git a/requirements/doc.txt b/requirements/doc.txt index cba7db0..a65b0c0 100644 --- a/requirements/doc.txt +++ b/requirements/doc.txt @@ -16,23 +16,23 @@ 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 certifi==2024.2.2 # via requests -cffi==1.16.0 - # via cryptography charset-normalizer==3.3.2 # via requests -coverage[toml]==7.4.2 +coverage[toml]==7.4.3 # via # -r requirements/test.txt # pytest-cov -cryptography==42.0.4 - # via secretstorage -django==3.2.24 +django==4.2.10 # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/test.txt # djangorestframework # drf-yasg @@ -64,7 +64,7 @@ importlib-metadata==7.0.1 # keyring # sphinx # twine -importlib-resources==6.1.1 +importlib-resources==6.1.2 # via keyring inflection==0.5.1 # via @@ -76,13 +76,9 @@ iniconfig==2.0.0 # pytest jaraco-classes==3.3.1 # via keyring -jeepney==0.8.0 - # via - # keyring - # secretstorage jinja2==3.1.3 # via sphinx -keyring==24.3.0 +keyring==24.3.1 # via twine markdown-it-py==3.0.0 # via rich @@ -109,8 +105,6 @@ pluggy==1.4.0 # via # -r requirements/test.txt # pytest -pycparser==2.21 - # via cffi pydata-sphinx-theme==0.14.4 # via sphinx-book-theme pygments==2.17.2 @@ -121,7 +115,7 @@ pygments==2.17.2 # readme-renderer # rich # sphinx -pytest==8.0.1 +pytest==8.0.2 # via # -r requirements/test.txt # pytest-cov @@ -134,14 +128,13 @@ pytz==2024.1 # via # -r requirements/test.txt # babel - # django # djangorestframework # drf-yasg pyyaml==6.0.1 # via # -r requirements/test.txt # drf-yasg -readme-renderer==42.0 +readme-renderer==43.0 # via # -r requirements/doc.in # twine @@ -158,8 +151,6 @@ rfc3986==2.0.0 # via twine rich==13.7.0 # via twine -secretstorage==3.3.3 - # via keyring snowballstemmer==2.2.0 # via sphinx soupsieve==2.5 @@ -187,7 +178,7 @@ sqlparse==0.4.4 # via # -r requirements/test.txt # django -stevedore==5.1.0 +stevedore==5.2.0 # via doc8 tomli==2.0.1 # via @@ -197,7 +188,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 diff --git a/requirements/pip.txt b/requirements/pip.txt index 71954cc..6665603 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.1.0 +setuptools==69.1.1 # via -r requirements/pip.in diff --git a/requirements/quality.txt b/requirements/quality.txt index a43b88c..075fc9b 100644 --- a/requirements/quality.txt +++ b/requirements/quality.txt @@ -8,14 +8,17 @@ asgiref==3.7.2 # via # -r requirements/test.txt # django -astroid==3.0.3 +astroid==3.1.0 # via # pylint # pylint-celery +backports-zoneinfo==0.2.1 ; python_version < "3.9" + # via + # -c requirements/constraints.txt + # -r requirements/test.txt + # django certifi==2024.2.2 # via requests -cffi==1.16.0 - # via cryptography charset-normalizer==3.3.2 # via requests click==8.1.7 @@ -27,17 +30,14 @@ click-log==0.4.0 # via edx-lint code-annotations==1.6.0 # via edx-lint -coverage[toml]==7.4.2 +coverage[toml]==7.4.3 # via # -r requirements/test.txt # pytest-cov -cryptography==42.0.4 - # via secretstorage dill==0.3.8 # via pylint -django==3.2.24 +django==4.2.10 # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/test.txt # djangorestframework # drf-yasg @@ -61,7 +61,7 @@ importlib-metadata==7.0.1 # via # keyring # twine -importlib-resources==6.1.1 +importlib-resources==6.1.2 # via keyring inflection==0.5.1 # via @@ -77,13 +77,9 @@ isort==5.13.2 # pylint jaraco-classes==3.3.1 # via keyring -jeepney==0.8.0 - # via - # keyring - # secretstorage jinja2==3.1.3 # via code-annotations -keyring==24.3.0 +keyring==24.3.1 # via twine markdown-it-py==3.0.0 # via rich @@ -114,15 +110,13 @@ pluggy==1.4.0 # pytest pycodestyle==2.11.1 # via -r requirements/quality.in -pycparser==2.21 - # via cffi pydocstyle==6.3.0 # via -r requirements/quality.in pygments==2.17.2 # via # readme-renderer # rich -pylint==3.0.3 +pylint==3.1.0 # via # edx-lint # pylint-celery @@ -136,7 +130,7 @@ pylint-plugin-utils==0.8.2 # via # pylint-celery # pylint-django -pytest==8.0.1 +pytest==8.0.2 # via # -r requirements/test.txt # pytest-cov @@ -150,7 +144,6 @@ python-slugify==8.0.4 pytz==2024.1 # via # -r requirements/test.txt - # django # djangorestframework # drf-yasg pyyaml==6.0.1 @@ -158,7 +151,7 @@ pyyaml==6.0.1 # -r requirements/test.txt # code-annotations # drf-yasg -readme-renderer==42.0 +readme-renderer==43.0 # via twine requests==2.31.0 # via @@ -170,8 +163,6 @@ rfc3986==2.0.0 # via twine rich==13.7.0 # via twine -secretstorage==3.3.3 - # via keyring six==1.16.0 # via edx-lint snowballstemmer==2.2.0 @@ -180,7 +171,7 @@ sqlparse==0.4.4 # via # -r requirements/test.txt # django -stevedore==5.1.0 +stevedore==5.2.0 # via code-annotations text-unidecode==1.3 # via python-slugify @@ -190,11 +181,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 diff --git a/requirements/test.txt b/requirements/test.txt index 83a159a..18029a9 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -8,10 +8,14 @@ asgiref==3.7.2 # via # -r requirements/base.txt # django -coverage[toml]==7.4.2 +backports-zoneinfo==0.2.1 ; python_version < "3.9" + # via + # -c requirements/constraints.txt + # -r requirements/base.txt + # django +coverage[toml]==7.4.3 # via pytest-cov # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/base.txt # djangorestframework # drf-yasg @@ -35,7 +39,7 @@ packaging==23.2 # pytest pluggy==1.4.0 # via pytest -pytest==8.0.1 +pytest==8.0.2 # via # pytest-cov # pytest-django @@ -46,7 +50,6 @@ pytest-django==4.8.0 pytz==2024.1 # via # -r requirements/base.txt - # django # djangorestframework # drf-yasg pyyaml==6.0.1 @@ -61,7 +64,7 @@ tomli==2.0.1 # via # coverage # pytest -typing-extensions==4.9.0 +typing-extensions==4.10.0 # via # -r requirements/base.txt # asgiref From eecaae08a2ba07dec33f8383dc03a55f0a1e2575 Mon Sep 17 00:00:00 2001 From: awais qureshi <awais.qureshi@arbisoft.com> Date: Mon, 1 Apr 2024 14:10:19 +0500 Subject: [PATCH 06/10] feat: 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 2588140..6e9224d 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -16,7 +16,7 @@ Unreleased 1.8.0 --- 2024-02-29 -------------------- -* Add support for python 3.12 support. +* Add support for python 3.11 and 3.12 support. * Removed django32 support. diff --git a/setup.py b/setup.py index 40b3ca3..916433b 100644 --- a/setup.py +++ b/setup.py @@ -124,12 +124,13 @@ 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 :: 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', ], ) From f34f4b9f29a313fe930a0be5ef8652b68658094e Mon Sep 17 00:00:00 2001 From: awais qureshi <awais.qureshi@arbisoft.com> Date: Wed, 28 Feb 2024 18:33:10 +0500 Subject: [PATCH 07/10] feat: python3.11 and 3.12 support. --- .github/workflows/ci.yml | 7 ++-- CHANGELOG.rst | 7 ++++ Makefile | 14 +++++++- edx_api_doc_tools/__init__.py | 2 +- requirements/base.txt | 10 +++--- requirements/ci.txt | 2 +- requirements/common_constraints.txt | 15 +++++++++ requirements/constraints.txt | 4 ++- requirements/dev.txt | 52 ++++++++++------------------- requirements/doc.txt | 35 ++++++++----------- requirements/pip.txt | 2 +- requirements/quality.txt | 41 +++++++++-------------- requirements/test.txt | 13 +++++--- setup.py | 3 +- tox.ini | 6 ++-- 15 files changed, 107 insertions(+), 106 deletions(-) create mode 100644 requirements/common_constraints.txt diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e9448f8..840f82e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,13 +14,10 @@ jobs: strategy: matrix: os: [ubuntu-20.04] - python-version: ["3.8"] + python-version: ["3.8", "3.12"] toxenv: [ - py38-django32-drf312, - py38-django32-drflatest, - py38-django42-drflatest, - quality, + py38-django42-drflatest,quality ] steps: diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 07d7879..6e9224d 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -14,6 +14,13 @@ Change Log Unreleased ---------- +1.8.0 --- 2024-02-29 +-------------------- +* Add support for python 3.11 and 3.12 support. +* Removed django32 support. + + + 1.7.0 --- 2023-07-23 -------------------- diff --git a/Makefile b/Makefile index 6aca9e1..33419d8 100644 --- a/Makefile +++ b/Makefile @@ -48,10 +48,22 @@ pip: upgrade-pip-tools: pip-tools pip-compile --upgrade requirements/pip-tools.in +define COMMON_CONSTRAINTS_TEMP_COMMENT +# This is a temporary solution to override the real common_constraints.txt\n# In edx-lint, until the pyjwt constraint in edx-lint has been removed.\n# See BOM-2721 for more details.\n# Below is the copied and edited version of common_constraints\n +endef + +COMMON_CONSTRAINTS_TXT=requirements/common_constraints.txt +.PHONY: $(COMMON_CONSTRAINTS_TXT) +$(COMMON_CONSTRAINTS_TXT): + wget -O "$(@)" https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt || touch "$(@)" + echo "$(COMMON_CONSTRAINTS_TEMP_COMMENT)" | cat - $(@) > temp && mv temp $(@) + upgrade: export CUSTOM_COMPILE_COMMAND=make upgrade -upgrade: ## update the requirements/*.txt files with the latest packages satisfying requirements/*.in +upgrade: $(COMMON_CONSTRAINTS_TXT) ## update the requirements/*.txt files with the latest packages satisfying requirements/*.in # Make sure to compile files after any other files they include! 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/pip-tools.txt requirements/pip-tools.in pip-compile --upgrade --allow-unsafe --rebuild -o requirements/pip.txt requirements/pip.in pip install -qr requirements/pip-tools.txt diff --git a/edx_api_doc_tools/__init__.py b/edx_api_doc_tools/__init__.py index 201177b..d4926a4 100644 --- a/edx_api_doc_tools/__init__.py +++ b/edx_api_doc_tools/__init__.py @@ -46,4 +46,4 @@ ) -__version__ = '1.7.0' +__version__ = '1.8.0' diff --git a/requirements/base.txt b/requirements/base.txt index 1ffbefe..c73eeb3 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -6,9 +6,12 @@ # asgiref==3.7.2 # via django -django==3.2.24 +backports-zoneinfo==0.2.1 ; python_version < "3.9" + # via + # -c requirements/constraints.txt + # django +django==4.2.10 # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/base.in # djangorestframework # drf-yasg @@ -24,14 +27,13 @@ packaging==23.2 # via drf-yasg pytz==2024.1 # via - # django # djangorestframework # drf-yasg pyyaml==6.0.1 # via drf-yasg sqlparse==0.4.4 # via django -typing-extensions==4.9.0 +typing-extensions==4.10.0 # via asgiref uritemplate==4.1.1 # via drf-yasg diff --git a/requirements/ci.txt b/requirements/ci.txt index e7a8760..88a39ff 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 diff --git a/requirements/common_constraints.txt b/requirements/common_constraints.txt new file mode 100644 index 0000000..a971933 --- /dev/null +++ b/requirements/common_constraints.txt @@ -0,0 +1,15 @@ +# This is a temporary solution to override the real common_constraints.txt +# In edx-lint, until the pyjwt constraint in edx-lint has been removed. +# See BOM-2721 for more details. +# Below is the copied and edited version of common_constraints + +# This is a temporary solution to override the real common_constraints.txt +# In edx-lint, until the pyjwt constraint in edx-lint has been removed. +# See BOM-2721 for more details. +# Below is the copied and edited version of common_constraints + +# This is a temporary solution to override the real common_constraints.txt +# In edx-lint, until the pyjwt constraint in edx-lint has been removed. +# See BOM-2721 for more details. +# Below is the copied and edited version of common_constraints + diff --git a/requirements/constraints.txt b/requirements/constraints.txt index 7be88d2..5801947 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -9,4 +9,6 @@ # linking to it here is good. # Common constraints for edx repos --c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt +-c common_constraints.txt + +backports.zoneinfo;python_version<"3.9" diff --git a/requirements/dev.txt b/requirements/dev.txt index 27deda6..345701b 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -8,16 +8,21 @@ asgiref==3.7.2 # via # -r requirements/quality.txt # django -astroid==3.0.3 +astroid==3.1.0 # via # -r requirements/quality.txt # pylint # pylint-celery +backports-zoneinfo==0.2.1 ; python_version < "3.9" + # via + # -c requirements/constraints.txt + # -r requirements/quality.txt + # django build==1.0.3 # via # -r requirements/pip-tools.txt # pip-tools -cachetools==5.3.2 +cachetools==5.3.3 # via # -r requirements/ci.txt # tox @@ -25,10 +30,6 @@ certifi==2024.2.2 # via # -r requirements/quality.txt # requests -cffi==1.16.0 - # via - # -r requirements/quality.txt - # cryptography chardet==5.2.0 # via # -r requirements/ci.txt @@ -58,14 +59,10 @@ colorama==0.4.6 # via # -r requirements/ci.txt # tox -coverage[toml]==7.4.2 +coverage[toml]==7.4.3 # via # -r requirements/quality.txt # pytest-cov -cryptography==42.0.4 - # via - # -r requirements/quality.txt - # secretstorage diff-cover==8.0.3 # via -r requirements/dev.in dill==0.3.8 @@ -76,9 +73,8 @@ distlib==0.3.8 # via # -r requirements/ci.txt # virtualenv -django==3.2.24 +django==4.2.10 # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/quality.txt # djangorestframework # drf-yasg @@ -117,7 +113,7 @@ importlib-metadata==7.0.1 # build # keyring # twine -importlib-resources==6.1.1 +importlib-resources==6.1.2 # via # -r requirements/quality.txt # keyring @@ -137,17 +133,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 @@ -217,10 +208,6 @@ polib==1.2.0 # via edx-i18n-tools pycodestyle==2.11.1 # via -r requirements/quality.txt -pycparser==2.21 - # via - # -r requirements/quality.txt - # cffi pydocstyle==6.3.0 # via -r requirements/quality.txt pygments==2.17.2 @@ -229,7 +216,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 @@ -258,7 +245,7 @@ pyproject-hooks==1.0.0 # -r requirements/pip-tools.txt # build # pip-tools -pytest==8.0.1 +pytest==8.0.2 # via # -r requirements/quality.txt # pytest-cov @@ -274,7 +261,6 @@ python-slugify==8.0.4 pytz==2024.1 # via # -r requirements/quality.txt - # django # djangorestframework # drf-yasg pyyaml==6.0.1 @@ -283,7 +269,7 @@ pyyaml==6.0.1 # code-annotations # drf-yasg # edx-i18n-tools -readme-renderer==42.0 +readme-renderer==43.0 # via # -r requirements/quality.txt # twine @@ -304,10 +290,6 @@ rich==13.7.0 # 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 @@ -320,7 +302,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 @@ -341,7 +323,7 @@ tomli==2.0.1 # pyproject-hooks # pytest # tox -tomlkit==0.12.3 +tomlkit==0.12.4 # via # -r requirements/quality.txt # pylint @@ -349,7 +331,7 @@ tox==4.13.0 # 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 diff --git a/requirements/doc.txt b/requirements/doc.txt index cba7db0..a65b0c0 100644 --- a/requirements/doc.txt +++ b/requirements/doc.txt @@ -16,23 +16,23 @@ 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 certifi==2024.2.2 # via requests -cffi==1.16.0 - # via cryptography charset-normalizer==3.3.2 # via requests -coverage[toml]==7.4.2 +coverage[toml]==7.4.3 # via # -r requirements/test.txt # pytest-cov -cryptography==42.0.4 - # via secretstorage -django==3.2.24 +django==4.2.10 # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/test.txt # djangorestframework # drf-yasg @@ -64,7 +64,7 @@ importlib-metadata==7.0.1 # keyring # sphinx # twine -importlib-resources==6.1.1 +importlib-resources==6.1.2 # via keyring inflection==0.5.1 # via @@ -76,13 +76,9 @@ iniconfig==2.0.0 # pytest jaraco-classes==3.3.1 # via keyring -jeepney==0.8.0 - # via - # keyring - # secretstorage jinja2==3.1.3 # via sphinx -keyring==24.3.0 +keyring==24.3.1 # via twine markdown-it-py==3.0.0 # via rich @@ -109,8 +105,6 @@ pluggy==1.4.0 # via # -r requirements/test.txt # pytest -pycparser==2.21 - # via cffi pydata-sphinx-theme==0.14.4 # via sphinx-book-theme pygments==2.17.2 @@ -121,7 +115,7 @@ pygments==2.17.2 # readme-renderer # rich # sphinx -pytest==8.0.1 +pytest==8.0.2 # via # -r requirements/test.txt # pytest-cov @@ -134,14 +128,13 @@ pytz==2024.1 # via # -r requirements/test.txt # babel - # django # djangorestframework # drf-yasg pyyaml==6.0.1 # via # -r requirements/test.txt # drf-yasg -readme-renderer==42.0 +readme-renderer==43.0 # via # -r requirements/doc.in # twine @@ -158,8 +151,6 @@ rfc3986==2.0.0 # via twine rich==13.7.0 # via twine -secretstorage==3.3.3 - # via keyring snowballstemmer==2.2.0 # via sphinx soupsieve==2.5 @@ -187,7 +178,7 @@ sqlparse==0.4.4 # via # -r requirements/test.txt # django -stevedore==5.1.0 +stevedore==5.2.0 # via doc8 tomli==2.0.1 # via @@ -197,7 +188,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 diff --git a/requirements/pip.txt b/requirements/pip.txt index 71954cc..6665603 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.1.0 +setuptools==69.1.1 # via -r requirements/pip.in diff --git a/requirements/quality.txt b/requirements/quality.txt index a43b88c..075fc9b 100644 --- a/requirements/quality.txt +++ b/requirements/quality.txt @@ -8,14 +8,17 @@ asgiref==3.7.2 # via # -r requirements/test.txt # django -astroid==3.0.3 +astroid==3.1.0 # via # pylint # pylint-celery +backports-zoneinfo==0.2.1 ; python_version < "3.9" + # via + # -c requirements/constraints.txt + # -r requirements/test.txt + # django certifi==2024.2.2 # via requests -cffi==1.16.0 - # via cryptography charset-normalizer==3.3.2 # via requests click==8.1.7 @@ -27,17 +30,14 @@ click-log==0.4.0 # via edx-lint code-annotations==1.6.0 # via edx-lint -coverage[toml]==7.4.2 +coverage[toml]==7.4.3 # via # -r requirements/test.txt # pytest-cov -cryptography==42.0.4 - # via secretstorage dill==0.3.8 # via pylint -django==3.2.24 +django==4.2.10 # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/test.txt # djangorestframework # drf-yasg @@ -61,7 +61,7 @@ importlib-metadata==7.0.1 # via # keyring # twine -importlib-resources==6.1.1 +importlib-resources==6.1.2 # via keyring inflection==0.5.1 # via @@ -77,13 +77,9 @@ isort==5.13.2 # pylint jaraco-classes==3.3.1 # via keyring -jeepney==0.8.0 - # via - # keyring - # secretstorage jinja2==3.1.3 # via code-annotations -keyring==24.3.0 +keyring==24.3.1 # via twine markdown-it-py==3.0.0 # via rich @@ -114,15 +110,13 @@ pluggy==1.4.0 # pytest pycodestyle==2.11.1 # via -r requirements/quality.in -pycparser==2.21 - # via cffi pydocstyle==6.3.0 # via -r requirements/quality.in pygments==2.17.2 # via # readme-renderer # rich -pylint==3.0.3 +pylint==3.1.0 # via # edx-lint # pylint-celery @@ -136,7 +130,7 @@ pylint-plugin-utils==0.8.2 # via # pylint-celery # pylint-django -pytest==8.0.1 +pytest==8.0.2 # via # -r requirements/test.txt # pytest-cov @@ -150,7 +144,6 @@ python-slugify==8.0.4 pytz==2024.1 # via # -r requirements/test.txt - # django # djangorestframework # drf-yasg pyyaml==6.0.1 @@ -158,7 +151,7 @@ pyyaml==6.0.1 # -r requirements/test.txt # code-annotations # drf-yasg -readme-renderer==42.0 +readme-renderer==43.0 # via twine requests==2.31.0 # via @@ -170,8 +163,6 @@ rfc3986==2.0.0 # via twine rich==13.7.0 # via twine -secretstorage==3.3.3 - # via keyring six==1.16.0 # via edx-lint snowballstemmer==2.2.0 @@ -180,7 +171,7 @@ sqlparse==0.4.4 # via # -r requirements/test.txt # django -stevedore==5.1.0 +stevedore==5.2.0 # via code-annotations text-unidecode==1.3 # via python-slugify @@ -190,11 +181,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 diff --git a/requirements/test.txt b/requirements/test.txt index 83a159a..18029a9 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -8,10 +8,14 @@ asgiref==3.7.2 # via # -r requirements/base.txt # django -coverage[toml]==7.4.2 +backports-zoneinfo==0.2.1 ; python_version < "3.9" + # via + # -c requirements/constraints.txt + # -r requirements/base.txt + # django +coverage[toml]==7.4.3 # via pytest-cov # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt # -r requirements/base.txt # djangorestframework # drf-yasg @@ -35,7 +39,7 @@ packaging==23.2 # pytest pluggy==1.4.0 # via pytest -pytest==8.0.1 +pytest==8.0.2 # via # pytest-cov # pytest-django @@ -46,7 +50,6 @@ pytest-django==4.8.0 pytz==2024.1 # via # -r requirements/base.txt - # django # djangorestframework # drf-yasg pyyaml==6.0.1 @@ -61,7 +64,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 40b3ca3..916433b 100644 --- a/setup.py +++ b/setup.py @@ -124,12 +124,13 @@ 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 :: 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', ], ) diff --git a/tox.ini b/tox.ini index 1c380fb..3a51fd2 100644 --- a/tox.ini +++ b/tox.ini @@ -1,7 +1,6 @@ [tox] envlist = - py38-django{32}-drf{312, latest} - py38-django{42}-drf{latest} # Django 4.2 is not supported by DRF < 3.14 + py{38,312}-django{42}-drf{latest} # Django 4.2 is not supported by DRF < 3.14 quality [pytest] @@ -11,9 +10,7 @@ norecursedirs = .* docs requirements [testenv] deps = - django32: Django>=3.2,<4.0 django42: Django>=4.2,<4.3 - drf312: djangorestframework>=3.13,<3.14 drflatest: djangorestframework -r{toxinidir}/requirements/test.txt commands = @@ -38,6 +35,7 @@ allowlist_externals = make rm deps = + setuptools -r{toxinidir}/requirements/quality.txt commands = make quality From c5e5700fdfeaed90d6f945f399422ab962376653 Mon Sep 17 00:00:00 2001 From: edX requirements bot <devops+edx-requirements-bot@edx.org> Date: Mon, 1 Apr 2024 05:11:34 -0400 Subject: [PATCH 08/10] chore: Updating Python Requirements --- requirements/base.txt | 14 +++--- requirements/ci.txt | 6 +-- requirements/common_constraints.txt | 38 +++++++++++--- requirements/dev.txt | 78 ++++++++++++++++++++--------- requirements/doc.txt | 54 +++++++++++++------- requirements/pip-tools.txt | 16 +++--- requirements/pip.txt | 4 +- requirements/quality.txt | 56 ++++++++++++++------- requirements/test.txt | 13 ++--- 9 files changed, 188 insertions(+), 91 deletions(-) diff --git a/requirements/base.txt b/requirements/base.txt index c73eeb3..172e082 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -4,18 +4,20 @@ # # make upgrade # -asgiref==3.7.2 +asgiref==3.8.1 # via django backports-zoneinfo==0.2.1 ; python_version < "3.9" # via # -c requirements/constraints.txt # django -django==4.2.10 + # djangorestframework +django==4.2.11 # via + # -c requirements/common_constraints.txt # -r requirements/base.in # djangorestframework # drf-yasg -djangorestframework==3.14.0 +djangorestframework==3.15.1 # via # -r requirements/base.in # drf-yasg @@ -23,12 +25,10 @@ drf-yasg==1.21.7 # via -r requirements/base.in inflection==0.5.1 # via drf-yasg -packaging==23.2 +packaging==24.0 # via drf-yasg pytz==2024.1 - # via - # djangorestframework - # drf-yasg + # via drf-yasg pyyaml==6.0.1 # via drf-yasg sqlparse==0.4.4 diff --git a/requirements/ci.txt b/requirements/ci.txt index 88a39ff..c085cbc 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -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 a971933..c9d8d9c 100644 --- a/requirements/common_constraints.txt +++ b/requirements/common_constraints.txt @@ -3,13 +3,35 @@ # See BOM-2721 for more details. # Below is the copied and edited version of common_constraints -# This is a temporary solution to override the real common_constraints.txt -# In edx-lint, until the pyjwt constraint in edx-lint has been removed. -# See BOM-2721 for more details. -# Below is the copied and edited version of common_constraints +# A central location for most common version constraints +# (across edx repos) for pip-installation. +# +# Similar to other constraint files this file doesn't install any packages. +# It specifies version constraints that will be applied if a package is needed. +# When pinning something here, please provide an explanation of why it is a good +# idea to pin this package across all edx repos, Ideally, link to other information +# that will help people in the future to remove the pin when possible. +# Writing an issue against the offending project and linking to it here is good. +# +# Note: Changes to this file will automatically be used by other repos, referencing +# this file from Github directly. It does not require packaging in edx-lint. -# This is a temporary solution to override the real common_constraints.txt -# In edx-lint, until the pyjwt constraint in edx-lint has been removed. -# See BOM-2721 for more details. -# Below is the copied and edited version of common_constraints +# 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 +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 345701b..ecdfa7c 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -4,7 +4,7 @@ # # make upgrade # -asgiref==3.7.2 +asgiref==3.8.1 # via # -r requirements/quality.txt # django @@ -18,7 +18,8 @@ backports-zoneinfo==0.2.1 ; python_version < "3.9" # -c requirements/constraints.txt # -r requirements/quality.txt # django -build==1.0.3 + # djangorestframework +build==1.2.1 # via # -r requirements/pip-tools.txt # pip-tools @@ -30,6 +31,10 @@ certifi==2024.2.2 # via # -r requirements/quality.txt # requests +cffi==1.16.0 + # via + # -r requirements/quality.txt + # cryptography chardet==5.2.0 # via # -r requirements/ci.txt @@ -51,7 +56,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 @@ -59,10 +64,14 @@ colorama==0.4.6 # via # -r requirements/ci.txt # tox -coverage[toml]==7.4.3 +coverage[toml]==7.4.4 # via # -r requirements/quality.txt # pytest-cov +cryptography==42.0.5 + # via + # -r requirements/quality.txt + # secretstorage diff-cover==8.0.3 # via -r requirements/dev.in dill==0.3.8 @@ -73,13 +82,14 @@ 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 # djangorestframework # drf-yasg # edx-i18n-tools -djangorestframework==3.14.0 +djangorestframework==3.15.1 # via # -r requirements/quality.txt # drf-yasg @@ -97,7 +107,7 @@ exceptiongroup==1.2.0 # via # -r requirements/quality.txt # pytest -filelock==3.13.1 +filelock==3.13.3 # via # -r requirements/ci.txt # tox @@ -106,14 +116,15 @@ idna==3.6 # via # -r requirements/quality.txt # requests -importlib-metadata==7.0.1 +importlib-metadata==6.11.0 # via + # -c requirements/common_constraints.txt # -r requirements/pip-tools.txt # -r requirements/quality.txt # build # keyring # twine -importlib-resources==6.1.2 +importlib-resources==6.4.0 # via # -r requirements/quality.txt # keyring @@ -129,20 +140,33 @@ isort==5.13.2 # via # -r requirements/quality.txt # pylint -jaraco-classes==3.3.1 +jaraco-classes==3.4.0 + # via + # -r requirements/quality.txt + # keyring +jaraco-context==4.3.0 + # via + # -r requirements/quality.txt + # keyring +jaraco-functools==4.0.0 # 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.1 +keyring==25.0.0 # via # -r requirements/quality.txt # twine -lxml==5.1.0 +lxml==5.2.0 # via edx-i18n-tools markdown-it-py==3.0.0 # via @@ -164,11 +188,12 @@ more-itertools==10.2.0 # via # -r requirements/quality.txt # jaraco-classes -nh3==0.2.15 + # jaraco-functools +nh3==0.2.17 # via # -r requirements/quality.txt # readme-renderer -packaging==23.2 +packaging==24.0 # via # -r requirements/ci.txt # -r requirements/pip-tools.txt @@ -184,9 +209,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 @@ -208,6 +233,10 @@ polib==1.2.0 # via edx-i18n-tools pycodestyle==2.11.1 # via -r requirements/quality.txt +pycparser==2.22 + # via + # -r requirements/quality.txt + # cffi pydocstyle==6.3.0 # via -r requirements/quality.txt pygments==2.17.2 @@ -245,12 +274,12 @@ pyproject-hooks==1.0.0 # -r requirements/pip-tools.txt # build # pip-tools -pytest==8.0.2 +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 @@ -261,7 +290,6 @@ python-slugify==8.0.4 pytz==2024.1 # via # -r requirements/quality.txt - # djangorestframework # drf-yasg pyyaml==6.0.1 # via @@ -286,10 +314,14 @@ 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 @@ -327,7 +359,7 @@ tomlkit==0.12.4 # via # -r requirements/quality.txt # pylint -tox==4.13.0 +tox==4.14.2 # via -r requirements/ci.txt twine==5.0.0 # via -r requirements/quality.txt @@ -351,11 +383,11 @@ 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 a65b0c0..d573cbb 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.1 # via # -r requirements/test.txt # django @@ -21,22 +21,28 @@ backports-zoneinfo==0.2.1 ; python_version < "3.9" # -c requirements/constraints.txt # -r requirements/test.txt # django + # djangorestframework beautifulsoup4==4.12.3 # via pydata-sphinx-theme certifi==2024.2.2 # via requests +cffi==1.16.0 + # via cryptography charset-normalizer==3.3.2 # via requests -coverage[toml]==7.4.3 +coverage[toml]==7.4.4 # via # -r requirements/test.txt # pytest-cov -django==4.2.10 +cryptography==42.0.5 + # via secretstorage +django==4.2.11 # via + # -c requirements/common_constraints.txt # -r requirements/test.txt # djangorestframework # drf-yasg -djangorestframework==3.14.0 +djangorestframework==3.15.1 # via # -r requirements/test.txt # drf-yasg @@ -59,12 +65,13 @@ 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.2 +importlib-resources==6.4.0 # via keyring inflection==0.5.1 # via @@ -74,11 +81,19 @@ 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 sphinx -keyring==24.3.1 +keyring==25.0.0 # via twine markdown-it-py==3.0.0 # via rich @@ -87,10 +102,12 @@ markupsafe==2.1.5 mdurl==0.1.2 # via markdown-it-py more-itertools==10.2.0 - # via jaraco-classes -nh3==0.2.15 + # via + # jaraco-classes + # jaraco-functools +nh3==0.2.17 # via readme-renderer -packaging==23.2 +packaging==24.0 # via # -r requirements/test.txt # drf-yasg @@ -99,12 +116,14 @@ packaging==23.2 # sphinx pbr==6.0.0 # via stevedore -pkginfo==1.9.6 +pkginfo==1.10.0 # via twine pluggy==1.4.0 # via # -r requirements/test.txt # pytest +pycparser==2.22 + # via cffi pydata-sphinx-theme==0.14.4 # via sphinx-book-theme pygments==2.17.2 @@ -115,12 +134,12 @@ pygments==2.17.2 # readme-renderer # rich # sphinx -pytest==8.0.2 +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 @@ -128,7 +147,6 @@ pytz==2024.1 # via # -r requirements/test.txt # babel - # djangorestframework # drf-yasg pyyaml==6.0.1 # via @@ -149,8 +167,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 snowballstemmer==2.2.0 # via sphinx soupsieve==2.5 @@ -202,7 +222,7 @@ urllib3==2.2.1 # via # 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 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 6665603..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.1 +setuptools==69.2.0 # via -r requirements/pip.in diff --git a/requirements/quality.txt b/requirements/quality.txt index 075fc9b..655308a 100644 --- a/requirements/quality.txt +++ b/requirements/quality.txt @@ -4,7 +4,7 @@ # # make upgrade # -asgiref==3.7.2 +asgiref==3.8.1 # via # -r requirements/test.txt # django @@ -17,8 +17,11 @@ backports-zoneinfo==0.2.1 ; python_version < "3.9" # -c requirements/constraints.txt # -r requirements/test.txt # django + # djangorestframework certifi==2024.2.2 # via requests +cffi==1.16.0 + # via cryptography charset-normalizer==3.3.2 # via requests click==8.1.7 @@ -28,20 +31,23 @@ 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 edx-lint -coverage[toml]==7.4.3 +coverage[toml]==7.4.4 # via # -r requirements/test.txt # pytest-cov +cryptography==42.0.5 + # via secretstorage dill==0.3.8 # via pylint -django==4.2.10 +django==4.2.11 # via + # -c requirements/common_constraints.txt # -r requirements/test.txt # djangorestframework # drf-yasg -djangorestframework==3.14.0 +djangorestframework==3.15.1 # via # -r requirements/test.txt # drf-yasg @@ -57,11 +63,12 @@ exceptiongroup==1.2.0 # pytest idna==3.6 # via requests -importlib-metadata==7.0.1 +importlib-metadata==6.11.0 # via + # -c requirements/common_constraints.txt # keyring # twine -importlib-resources==6.1.2 +importlib-resources==6.4.0 # via keyring inflection==0.5.1 # via @@ -75,11 +82,19 @@ isort==5.13.2 # via # -r requirements/quality.in # pylint -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 code-annotations -keyring==24.3.1 +keyring==25.0.0 # via twine markdown-it-py==3.0.0 # via rich @@ -90,17 +105,19 @@ mccabe==0.7.0 mdurl==0.1.2 # via markdown-it-py more-itertools==10.2.0 - # via jaraco-classes -nh3==0.2.15 + # via + # jaraco-classes + # jaraco-functools +nh3==0.2.17 # via readme-renderer -packaging==23.2 +packaging==24.0 # via # -r requirements/test.txt # drf-yasg # pytest pbr==6.0.0 # via stevedore -pkginfo==1.9.6 +pkginfo==1.10.0 # via twine platformdirs==4.2.0 # via pylint @@ -110,6 +127,8 @@ pluggy==1.4.0 # pytest pycodestyle==2.11.1 # via -r requirements/quality.in +pycparser==2.22 + # via cffi pydocstyle==6.3.0 # via -r requirements/quality.in pygments==2.17.2 @@ -130,12 +149,12 @@ pylint-plugin-utils==0.8.2 # via # pylint-celery # pylint-django -pytest==8.0.2 +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 @@ -144,7 +163,6 @@ python-slugify==8.0.4 pytz==2024.1 # via # -r requirements/test.txt - # djangorestframework # drf-yasg pyyaml==6.0.1 # via @@ -161,8 +179,10 @@ 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 @@ -200,7 +220,7 @@ urllib3==2.2.1 # via # 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 18029a9..8d59da1 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -4,7 +4,7 @@ # # make upgrade # -asgiref==3.7.2 +asgiref==3.8.1 # via # -r requirements/base.txt # django @@ -13,9 +13,11 @@ backports-zoneinfo==0.2.1 ; python_version < "3.9" # -c requirements/constraints.txt # -r requirements/base.txt # django -coverage[toml]==7.4.3 + # djangorestframework +coverage[toml]==7.4.4 # via pytest-cov # via + # -c requirements/common_constraints.txt # -r requirements/base.txt # djangorestframework # drf-yasg @@ -32,25 +34,24 @@ inflection==0.5.1 # drf-yasg iniconfig==2.0.0 # via pytest -packaging==23.2 +packaging==24.0 # via # -r requirements/base.txt # drf-yasg # pytest pluggy==1.4.0 # via pytest -pytest==8.0.2 +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 pytz==2024.1 # via # -r requirements/base.txt - # djangorestframework # drf-yasg pyyaml==6.0.1 # via From 2e2c71607dcd9120b07c2439d4154d22fa7459fb Mon Sep 17 00:00:00 2001 From: Awais Qureshi <awais.qureshi@arbisoft.com> Date: Mon, 1 Apr 2024 14:25:08 +0500 Subject: [PATCH 09/10] 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 840f82e..fc792fc 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: [ py38-django42-drflatest,quality From 192e3c378d05e8b6acdd67d6280f834846cb5a26 Mon Sep 17 00:00:00 2001 From: Awais Qureshi <awais.qureshi@arbisoft.com> Date: Mon, 1 Apr 2024 14:25:37 +0500 Subject: [PATCH 10/10] chore: Update tox.ini --- tox.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tox.ini b/tox.ini index 3a51fd2..2cacba7 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,6 @@ [tox] envlist = - py{38,312}-django{42}-drf{latest} # Django 4.2 is not supported by DRF < 3.14 + py{38,311,312}-django{42}-drf{latest} # Django 4.2 is not supported by DRF < 3.14 quality [pytest]