From c1cb1293f8072f699ce5dfba773a559d93b20a51 Mon Sep 17 00:00:00 2001 From: edX requirements bot Date: Fri, 23 Feb 2024 07:37:37 -0500 Subject: [PATCH 1/4] feat: add python 3.11 support --- .github/workflows/ci.yml | 6 +- Makefile | 3 +- i18n/__init__.py | 2 +- requirements/base.txt | 17 ++--- requirements/ci.txt | 83 +++++++++++------------- requirements/common_constraints.txt | 75 ++++++++++++++++++++++ requirements/constraints.txt | 6 ++ requirements/dev.txt | 97 +++++++++++++++-------------- requirements/django.txt | 2 +- requirements/pip.txt | 6 +- requirements/pip_tools.txt | 23 ++++--- requirements/test.txt | 74 +++++++++++----------- requirements/tox.txt | 12 ++-- setup.py | 4 +- tox.ini | 4 +- 15 files changed, 253 insertions(+), 161 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1ef3acff..e87b356b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,8 +12,10 @@ jobs: strategy: matrix: os: [ubuntu-20.04] - python-version: ['3.8'] - toxenv: [quality, django32, django42] + python-version: + - '3.8' + - '3.11' + toxenv: [quality, django42] steps: - uses: actions/checkout@v2 diff --git a/Makefile b/Makefile index 791cc900..905a3c34 100644 --- a/Makefile +++ b/Makefile @@ -34,7 +34,8 @@ upgrade: piptools $(COMMON_CONSTRAINTS_TXT)## update the requirements/*.txt file sed 's/Django<2.3//g' requirements/common_constraints.txt > requirements/common_constraints.tmp mv requirements/common_constraints.tmp requirements/common_constraints.txt - pip-compile --rebuild --allow-unsafe -o requirements/pip.txt requirements/pip.in +# pip install -qr requirements/pip_tools.txt + pip-compile --allow-unsafe --upgrade --rebuild -o requirements/pip.txt requirements/pip.in 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 diff --git a/i18n/__init__.py b/i18n/__init__.py index 5673a336..65914f0b 100644 --- a/i18n/__init__.py +++ b/i18n/__init__.py @@ -6,7 +6,7 @@ from . import config -__version__ = '1.3.0' +__version__ = '1.4.0' class Runner: diff --git a/requirements/base.txt b/requirements/base.txt index 3944a101..11a7a49d 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -4,22 +4,25 @@ # # make upgrade # -asgiref==3.6.0 +asgiref==3.8.1 # via django -django==3.2.17 +django==3.2.25 # via # -c requirements/common_constraints.txt # -r requirements/base.in lxml==4.9.3 # via + # -c requirements/constraints.txt # -r requirements/base.in -path==16.6.0 +path==16.10.0 # via -r requirements/base.in -polib==1.1.1 +polib==1.2.0 # via -r requirements/base.in -pytz==2022.7.1 +pytz==2024.1 # via django -pyyaml==6.0 +pyyaml==6.0.1 # via -r requirements/base.in -sqlparse==0.4.3 +sqlparse==0.4.4 # via django +typing-extensions==4.10.0 + # via asgiref diff --git a/requirements/ci.txt b/requirements/ci.txt index 0c897c7a..e5f802b0 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -4,20 +4,16 @@ # # make upgrade # -asgiref==3.6.0 +asgiref==3.8.1 # via # -r requirements/test.txt # django -astroid==2.14.1 +astroid==3.1.0 # via # -r requirements/test.txt # pylint # pylint-celery -attrs==22.2.0 - # via - # -r requirements/test.txt - # pytest -click==8.1.3 +click==8.1.7 # via # -r requirements/test.txt # click-log @@ -27,36 +23,36 @@ click-log==0.4.0 # via # -r requirements/test.txt # edx-lint -code-annotations==1.3.0 +code-annotations==1.7.0 # via # -r requirements/test.txt # edx-lint -coverage[toml]==7.1.0 +coverage[toml]==7.4.4 # via # -r requirements/ci.in # -r requirements/test.txt # pytest-cov -ddt==1.6.0 +ddt==1.7.2 # via -r requirements/test.txt -dill==0.3.6 +dill==0.3.8 # via # -r requirements/test.txt # pylint -distlib==0.3.6 +distlib==0.3.8 # via # -r requirements/tox.txt # virtualenv -django==3.2.17 +django==3.2.25 # via # -c requirements/common_constraints.txt # -r requirements/test.txt -edx-lint==5.3.0 +edx-lint==5.3.6 # via -r requirements/test.txt -exceptiongroup==1.1.0 +exceptiongroup==1.2.0 # via # -r requirements/test.txt # pytest -filelock==3.9.0 +filelock==3.13.3 # via # -r requirements/tox.txt # tox @@ -65,19 +61,19 @@ iniconfig==2.0.0 # via # -r requirements/test.txt # pytest -isort==5.12.0 +isort==5.13.2 # via # -r requirements/test.txt # pylint -jinja2==3.1.2 +jinja2==3.1.3 # via # -r requirements/test.txt # code-annotations -lazy-object-proxy==1.9.0 +lxml==4.9.3 # via + # -c requirements/constraints.txt # -r requirements/test.txt - # astroid -markupsafe==2.1.2 +markupsafe==2.1.5 # via # -r requirements/test.txt # jinja2 @@ -89,39 +85,39 @@ mock==3.0.5 # via # -c requirements/constraints.txt # -r requirements/test.txt -packaging==23.0 +packaging==24.0 # via # -r requirements/test.txt # -r requirements/tox.txt # pytest # tox -path==16.6.0 +path==16.10.0 # via -r requirements/test.txt -pbr==5.11.1 +pbr==6.0.0 # via # -r requirements/test.txt # stevedore -platformdirs==3.0.0 +platformdirs==4.2.0 # via # -r requirements/test.txt # -r requirements/tox.txt # pylint # virtualenv -pluggy==1.0.0 +pluggy==1.4.0 # via # -r requirements/test.txt # -r requirements/tox.txt # pytest # tox -polib==1.1.1 +polib==1.2.0 # via -r requirements/test.txt py==1.11.0 # via # -r requirements/tox.txt # tox -pycodestyle==2.10.0 +pycodestyle==2.11.1 # via -r requirements/test.txt -pylint==2.16.1 +pylint==3.1.0 # via # -r requirements/test.txt # edx-lint @@ -132,30 +128,30 @@ pylint-celery==0.3 # via # -r requirements/test.txt # edx-lint -pylint-django==2.5.3 +pylint-django==2.5.5 # via # -r requirements/test.txt # edx-lint -pylint-plugin-utils==0.7 +pylint-plugin-utils==0.8.2 # via # -r requirements/test.txt # pylint-celery # pylint-django -pytest==7.2.1 +pytest==8.1.1 # via # -r requirements/test.txt # pytest-cov -pytest-cov==4.0.0 +pytest-cov==5.0.0 # via -r requirements/test.txt -python-slugify==8.0.0 +python-slugify==8.0.4 # via # -r requirements/test.txt # code-annotations -pytz==2022.7.1 +pytz==2024.1 # via # -r requirements/test.txt # django -pyyaml==6.0 +pyyaml==6.0.1 # via # -r requirements/test.txt # code-annotations @@ -166,11 +162,11 @@ six==1.16.0 # edx-lint # mock # tox -sqlparse==0.4.3 +sqlparse==0.4.4 # via # -r requirements/test.txt # django -stevedore==4.1.1 +stevedore==5.2.0 # via # -r requirements/test.txt # code-annotations @@ -186,7 +182,7 @@ tomli==2.0.1 # pylint # pytest # tox -tomlkit==0.11.6 +tomlkit==0.12.4 # via # -r requirements/test.txt # pylint @@ -194,16 +190,13 @@ tox==3.28.0 # via # -c requirements/common_constraints.txt # -r requirements/tox.txt -typing-extensions==4.4.0 +typing-extensions==4.10.0 # via # -r requirements/test.txt + # asgiref # astroid # pylint -virtualenv==20.19.0 +virtualenv==20.25.1 # via # -r requirements/tox.txt # tox -wrapt==1.14.1 - # via - # -r requirements/test.txt - # astroid diff --git a/requirements/common_constraints.txt b/requirements/common_constraints.txt index d34ab34d..97dd21a7 100644 --- a/requirements/common_constraints.txt +++ b/requirements/common_constraints.txt @@ -3,6 +3,81 @@ # 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 + +# 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 + +# 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 + +# 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 + +# 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 + +# 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. # diff --git a/requirements/constraints.txt b/requirements/constraints.txt index 89858c42..131b4e12 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -13,3 +13,9 @@ # mock version 4.0.0 drops support for python 3.5 mock<4.0.0 + +# temporary constraint +backports.zoneinfo;python_version<"3.9" + +# greater version has issues. +lxml==4.9.3 \ No newline at end of file diff --git a/requirements/dev.txt b/requirements/dev.txt index ec98b24c..1ce93f84 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -4,24 +4,20 @@ # # make upgrade # -asgiref==3.6.0 +asgiref==3.8.1 # via # -r requirements/ci.txt # django -astroid==2.14.1 +astroid==3.1.0 # via # -r requirements/ci.txt # pylint # pylint-celery -attrs==22.2.0 - # via - # -r requirements/ci.txt - # pytest -build==0.10.0 +build==1.2.1 # via # -r requirements/pip_tools.txt # pip-tools -click==8.1.3 +click==8.1.7 # via # -r requirements/ci.txt # -r requirements/pip_tools.txt @@ -33,56 +29,60 @@ click-log==0.4.0 # via # -r requirements/ci.txt # edx-lint -code-annotations==1.3.0 +code-annotations==1.7.0 # via # -r requirements/ci.txt # edx-lint -coverage[toml]==7.1.0 +coverage[toml]==7.4.4 # via # -r requirements/ci.txt # pytest-cov -ddt==1.6.0 +ddt==1.7.2 # via -r requirements/ci.txt -dill==0.3.6 +dill==0.3.8 # via # -r requirements/ci.txt # pylint -distlib==0.3.6 +distlib==0.3.8 # via # -r requirements/ci.txt # virtualenv -django==3.2.17 +django==3.2.25 # via # -c requirements/common_constraints.txt # -r requirements/ci.txt -edx-lint==5.3.0 +edx-lint==5.3.6 # via -r requirements/ci.txt -exceptiongroup==1.1.0 +exceptiongroup==1.2.0 # via # -r requirements/ci.txt # pytest -filelock==3.9.0 +filelock==3.13.3 # via # -r requirements/ci.txt # tox # virtualenv +importlib-metadata==7.1.0 + # via + # -r requirements/pip_tools.txt + # build iniconfig==2.0.0 # via # -r requirements/ci.txt # pytest -isort==5.12.0 +isort==5.13.2 # via # -r requirements/ci.txt # pylint -jinja2==3.1.2 +jinja2==3.1.3 # via # -r requirements/ci.txt # code-annotations -lazy-object-proxy==1.9.0 +lxml==4.9.3 # via + # -c requirements/constraints.txt # -r requirements/ci.txt - # astroid -markupsafe==2.1.2 +markupsafe==2.1.5 # via # -r requirements/ci.txt # jinja2 @@ -94,40 +94,40 @@ mock==3.0.5 # via # -c requirements/constraints.txt # -r requirements/ci.txt -packaging==23.0 +packaging==24.0 # via # -r requirements/ci.txt # -r requirements/pip_tools.txt # build # pytest # tox -path==16.6.0 +path==16.10.0 # via -r requirements/ci.txt -pbr==5.11.1 +pbr==6.0.0 # via # -r requirements/ci.txt # stevedore -pip-tools==6.12.2 +pip-tools==7.4.1 # via -r requirements/pip_tools.txt -platformdirs==3.0.0 +platformdirs==4.2.0 # via # -r requirements/ci.txt # pylint # virtualenv -pluggy==1.0.0 +pluggy==1.4.0 # via # -r requirements/ci.txt # pytest # tox -polib==1.1.1 +polib==1.2.0 # via -r requirements/ci.txt py==1.11.0 # via # -r requirements/ci.txt # tox -pycodestyle==2.10.0 +pycodestyle==2.11.1 # via -r requirements/ci.txt -pylint==2.16.1 +pylint==3.1.0 # via # -r requirements/ci.txt # edx-lint @@ -138,11 +138,11 @@ pylint-celery==0.3 # via # -r requirements/ci.txt # edx-lint -pylint-django==2.5.3 +pylint-django==2.5.5 # via # -r requirements/ci.txt # edx-lint -pylint-plugin-utils==0.7 +pylint-plugin-utils==0.8.2 # via # -r requirements/ci.txt # pylint-celery @@ -151,21 +151,22 @@ pyproject-hooks==1.0.0 # via # -r requirements/pip_tools.txt # build -pytest==7.2.1 + # pip-tools +pytest==8.1.1 # via # -r requirements/ci.txt # pytest-cov -pytest-cov==4.0.0 +pytest-cov==5.0.0 # via -r requirements/ci.txt -python-slugify==8.0.0 +python-slugify==8.0.4 # via # -r requirements/ci.txt # code-annotations -pytz==2022.7.1 +pytz==2024.1 # via # -r requirements/ci.txt # django -pyyaml==6.0 +pyyaml==6.0.1 # via # -r requirements/ci.txt # code-annotations @@ -175,11 +176,11 @@ six==1.16.0 # edx-lint # mock # tox -sqlparse==0.4.3 +sqlparse==0.4.4 # via # -r requirements/ci.txt # django -stevedore==4.1.1 +stevedore==5.2.0 # via # -r requirements/ci.txt # code-annotations @@ -193,11 +194,12 @@ tomli==2.0.1 # -r requirements/pip_tools.txt # build # coverage + # pip-tools # pylint # pyproject-hooks # pytest # tox -tomlkit==0.11.6 +tomlkit==0.12.4 # via # -r requirements/ci.txt # pylint @@ -205,23 +207,24 @@ tox==3.28.0 # via # -c requirements/common_constraints.txt # -r requirements/ci.txt -typing-extensions==4.4.0 +typing-extensions==4.10.0 # via # -r requirements/ci.txt + # asgiref # astroid # pylint -virtualenv==20.19.0 +virtualenv==20.25.1 # via # -r requirements/ci.txt # tox -wheel==0.38.4 +wheel==0.43.0 # via # -r requirements/pip_tools.txt # pip-tools -wrapt==1.14.1 +zipp==3.18.1 # via - # -r requirements/ci.txt - # astroid + # -r requirements/pip_tools.txt + # importlib-metadata # The following packages are considered to be unsafe in a requirements file: # pip diff --git a/requirements/django.txt b/requirements/django.txt index 332dcc3a..ddab664a 100644 --- a/requirements/django.txt +++ b/requirements/django.txt @@ -1 +1 @@ -django==3.2.17 +django==3.2.25 diff --git a/requirements/pip.txt b/requirements/pip.txt index 02f414ba..cf449024 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -4,11 +4,11 @@ # # make upgrade # -wheel==0.37.0 +wheel==0.43.0 # via -r requirements/pip.in # The following packages are considered to be unsafe in a requirements file: -pip==21.2.4 +pip==24.0 # via -r requirements/pip.in -setuptools==58.1.0 +setuptools==69.2.0 # via -r requirements/pip.in diff --git a/requirements/pip_tools.txt b/requirements/pip_tools.txt index 97ec2157..6659ecd9 100644 --- a/requirements/pip_tools.txt +++ b/requirements/pip_tools.txt @@ -4,20 +4,29 @@ # # make upgrade # -build==0.10.0 +build==1.2.1 # via pip-tools -click==8.1.3 +click==8.1.7 # via pip-tools -packaging==23.0 +importlib-metadata==7.1.0 # via build -pip-tools==6.12.2 +packaging==24.0 + # via build +pip-tools==7.4.1 # via -r requirements/pip_tools.in pyproject-hooks==1.0.0 - # via build + # via + # build + # pip-tools tomli==2.0.1 - # via build -wheel==0.38.4 + # via + # build + # pip-tools + # pyproject-hooks +wheel==0.43.0 # via pip-tools +zipp==3.18.1 + # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: # pip diff --git a/requirements/test.txt b/requirements/test.txt index 57091e85..1b95b638 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -4,49 +4,49 @@ # # make upgrade # -asgiref==3.6.0 +asgiref==3.8.1 # via # -r requirements/base.txt # django -astroid==2.14.1 +astroid==3.1.0 # via # pylint # pylint-celery -attrs==22.2.0 - # via pytest -click==8.1.3 +click==8.1.7 # via # click-log # code-annotations # edx-lint click-log==0.4.0 # via edx-lint -code-annotations==1.3.0 +code-annotations==1.7.0 # via edx-lint -coverage[toml]==7.1.0 +coverage[toml]==7.4.4 # via # -r requirements/test.in # pytest-cov -ddt==1.6.0 +ddt==1.7.2 # via -r requirements/test.in -dill==0.3.6 +dill==0.3.8 # via pylint # via # -c requirements/common_constraints.txt # -r requirements/base.txt -edx-lint==5.3.0 +edx-lint==5.3.6 # via -r requirements/test.in -exceptiongroup==1.1.0 +exceptiongroup==1.2.0 # via pytest iniconfig==2.0.0 # via pytest -isort==5.12.0 +isort==5.13.2 # via pylint -jinja2==3.1.2 +jinja2==3.1.3 # via code-annotations -lazy-object-proxy==1.9.0 - # via astroid -markupsafe==2.1.2 +lxml==4.9.3 + # via + # -c requirements/constraints.txt + # -r requirements/base.txt +markupsafe==2.1.5 # via jinja2 mccabe==0.7.0 # via pylint @@ -54,21 +54,21 @@ mock==3.0.5 # via # -c requirements/constraints.txt # -r requirements/test.in -packaging==23.0 +packaging==24.0 # via pytest -path==16.6.0 +path==16.10.0 # via -r requirements/base.txt -pbr==5.11.1 +pbr==6.0.0 # via stevedore -platformdirs==3.0.0 +platformdirs==4.2.0 # via pylint -pluggy==1.0.0 +pluggy==1.4.0 # via pytest -polib==1.1.1 +polib==1.2.0 # via -r requirements/base.txt -pycodestyle==2.10.0 +pycodestyle==2.11.1 # via -r requirements/test.in -pylint==2.16.1 +pylint==3.1.0 # via # edx-lint # pylint-celery @@ -76,24 +76,24 @@ pylint==2.16.1 # pylint-plugin-utils pylint-celery==0.3 # via edx-lint -pylint-django==2.5.3 +pylint-django==2.5.5 # via edx-lint -pylint-plugin-utils==0.7 +pylint-plugin-utils==0.8.2 # via # pylint-celery # pylint-django -pytest==7.2.1 +pytest==8.1.1 # via pytest-cov -pytest-cov==4.0.0 +pytest-cov==5.0.0 # via -r requirements/test.in -python-slugify==8.0.0 +python-slugify==8.0.4 # via code-annotations -pytz==2022.7.1 +pytz==2024.1 # via # -r requirements/base.txt # -r requirements/test.in # django -pyyaml==6.0 +pyyaml==6.0.1 # via # -r requirements/base.txt # code-annotations @@ -101,11 +101,11 @@ six==1.16.0 # via # edx-lint # mock -sqlparse==0.4.3 +sqlparse==0.4.4 # via # -r requirements/base.txt # django -stevedore==4.1.1 +stevedore==5.2.0 # via code-annotations text-unidecode==1.3 # via python-slugify @@ -114,11 +114,11 @@ tomli==2.0.1 # coverage # pylint # pytest -tomlkit==0.11.6 +tomlkit==0.12.4 # via pylint -typing-extensions==4.4.0 +typing-extensions==4.10.0 # via + # -r requirements/base.txt + # asgiref # astroid # pylint -wrapt==1.14.1 - # via astroid diff --git a/requirements/tox.txt b/requirements/tox.txt index ce189f4d..954bdf96 100644 --- a/requirements/tox.txt +++ b/requirements/tox.txt @@ -4,17 +4,17 @@ # # make upgrade # -distlib==0.3.6 +distlib==0.3.8 # via virtualenv -filelock==3.9.0 +filelock==3.13.3 # via # tox # virtualenv -packaging==23.0 +packaging==24.0 # via tox -platformdirs==3.0.0 +platformdirs==4.2.0 # via virtualenv -pluggy==1.0.0 +pluggy==1.4.0 # via tox py==1.11.0 # via tox @@ -26,5 +26,5 @@ tox==3.28.0 # via # -c requirements/common_constraints.txt # -r requirements/tox.in -virtualenv==20.19.0 +virtualenv==20.25.1 # via tox diff --git a/setup.py b/setup.py index 24ddb179..725a1251 100755 --- a/setup.py +++ b/setup.py @@ -68,8 +68,8 @@ def get_version(*file_paths): 'Operating System :: OS Independent', 'Programming Language :: Python', 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.11', 'Framework :: Django', - 'Framework :: Django :: 3.2', - 'Framework :: Django :: 4.0', + 'Framework :: Django :: 4.2', ], ) diff --git a/tox.ini b/tox.ini index b48f98f5..12cce0cf 100644 --- a/tox.ini +++ b/tox.ini @@ -1,13 +1,13 @@ [tox] -envlist = py38-django{32,42}, quality +envlist = py{38, 311}-django{42}, quality [pytest] addopts = --cov=tests --cov-report term --cov-config=.coveragerc -p no:randomly testpaths = tests [testenv] +download = true deps = - django32: Django>=3.2,<4.0 django42: Django>=4.2,<4.3 -r requirements/test.txt commands = pytest {posargs} From 8f925c6ad5bb1bd147d61d62a27260d9a1b0adae Mon Sep 17 00:00:00 2001 From: awais qureshi Date: Wed, 3 Apr 2024 15:04:59 +0500 Subject: [PATCH 2/4] feat: Added python3.11 support. --- requirements/base.txt | 8 +-- requirements/ci.txt | 42 ++++++++++----- requirements/common_constraints.txt | 84 ++++------------------------- requirements/dev.txt | 44 ++++++++++----- requirements/django.txt | 2 +- requirements/pip_tools.txt | 6 ++- requirements/test.txt | 10 ++-- requirements/tox.txt | 26 +++++---- 8 files changed, 100 insertions(+), 122 deletions(-) diff --git a/requirements/base.txt b/requirements/base.txt index 11a7a49d..21b3d58a 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -6,7 +6,11 @@ # asgiref==3.8.1 # via django -django==3.2.25 +backports-zoneinfo==0.2.1 ; python_version < "3.9" + # via + # -c requirements/constraints.txt + # django +django==4.2.11 # via # -c requirements/common_constraints.txt # -r requirements/base.in @@ -18,8 +22,6 @@ path==16.10.0 # via -r requirements/base.in polib==1.2.0 # via -r requirements/base.in -pytz==2024.1 - # via django pyyaml==6.0.1 # via -r requirements/base.in sqlparse==0.4.4 diff --git a/requirements/ci.txt b/requirements/ci.txt index e5f802b0..ffc07bfb 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -13,6 +13,19 @@ astroid==3.1.0 # -r requirements/test.txt # pylint # pylint-celery +backports-zoneinfo==0.2.1 ; python_version < "3.9" + # via + # -c requirements/constraints.txt + # -r requirements/test.txt + # django +cachetools==5.3.3 + # via + # -r requirements/tox.txt + # tox +chardet==5.2.0 + # via + # -r requirements/tox.txt + # tox click==8.1.7 # via # -r requirements/test.txt @@ -27,6 +40,10 @@ code-annotations==1.7.0 # via # -r requirements/test.txt # edx-lint +colorama==0.4.6 + # via + # -r requirements/tox.txt + # tox coverage[toml]==7.4.4 # via # -r requirements/ci.in @@ -42,7 +59,7 @@ distlib==0.3.8 # via # -r requirements/tox.txt # virtualenv -django==3.2.25 +django==4.2.11 # via # -c requirements/common_constraints.txt # -r requirements/test.txt @@ -89,6 +106,7 @@ packaging==24.0 # via # -r requirements/test.txt # -r requirements/tox.txt + # pyproject-api # pytest # tox path==16.10.0 @@ -102,6 +120,7 @@ platformdirs==4.2.0 # -r requirements/test.txt # -r requirements/tox.txt # pylint + # tox # virtualenv pluggy==1.4.0 # via @@ -111,10 +130,6 @@ pluggy==1.4.0 # tox polib==1.2.0 # via -r requirements/test.txt -py==1.11.0 - # via - # -r requirements/tox.txt - # tox pycodestyle==2.11.1 # via -r requirements/test.txt pylint==3.1.0 @@ -137,6 +152,10 @@ pylint-plugin-utils==0.8.2 # -r requirements/test.txt # pylint-celery # pylint-django +pyproject-api==1.6.1 + # via + # -r requirements/tox.txt + # tox pytest==8.1.1 # via # -r requirements/test.txt @@ -148,9 +167,7 @@ python-slugify==8.0.4 # -r requirements/test.txt # code-annotations pytz==2024.1 - # via - # -r requirements/test.txt - # django + # via -r requirements/test.txt pyyaml==6.0.1 # via # -r requirements/test.txt @@ -158,10 +175,8 @@ pyyaml==6.0.1 six==1.16.0 # via # -r requirements/test.txt - # -r requirements/tox.txt # edx-lint # mock - # tox sqlparse==0.4.4 # via # -r requirements/test.txt @@ -180,16 +195,15 @@ tomli==2.0.1 # -r requirements/tox.txt # coverage # pylint + # pyproject-api # pytest # tox tomlkit==0.12.4 # via # -r requirements/test.txt # pylint -tox==3.28.0 - # via - # -c requirements/common_constraints.txt - # -r requirements/tox.txt +tox==4.14.2 + # via -r requirements/tox.txt typing-extensions==4.10.0 # via # -r requirements/test.txt diff --git a/requirements/common_constraints.txt b/requirements/common_constraints.txt index 97dd21a7..2461c264 100644 --- a/requirements/common_constraints.txt +++ b/requirements/common_constraints.txt @@ -8,76 +8,6 @@ # 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 - -# 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 - -# 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 - -# 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 - -# 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 - # A central location for most common version constraints # (across edx repos) for pip-installation. # @@ -93,15 +23,19 @@ # using LTS django version -Django<4.0 +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 -# tox>4.0.0 isn't yet compatible with many tox plugins, causing CI failures in almost all repos. -# Details can be found in this discussion: https://github.com/tox-dev/tox/discussions/1810 -tox<4.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 1ce93f84..b3048900 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -13,10 +13,23 @@ astroid==3.1.0 # -r requirements/ci.txt # pylint # pylint-celery +backports-zoneinfo==0.2.1 ; python_version < "3.9" + # via + # -c requirements/constraints.txt + # -r requirements/ci.txt + # django build==1.2.1 # via # -r requirements/pip_tools.txt # pip-tools +cachetools==5.3.3 + # via + # -r requirements/ci.txt + # tox +chardet==5.2.0 + # via + # -r requirements/ci.txt + # tox click==8.1.7 # via # -r requirements/ci.txt @@ -33,6 +46,10 @@ code-annotations==1.7.0 # via # -r requirements/ci.txt # edx-lint +colorama==0.4.6 + # via + # -r requirements/ci.txt + # tox coverage[toml]==7.4.4 # via # -r requirements/ci.txt @@ -47,7 +64,7 @@ distlib==0.3.8 # via # -r requirements/ci.txt # virtualenv -django==3.2.25 +django==4.2.11 # via # -c requirements/common_constraints.txt # -r requirements/ci.txt @@ -62,8 +79,9 @@ filelock==3.13.3 # -r requirements/ci.txt # tox # virtualenv -importlib-metadata==7.1.0 +importlib-metadata==6.11.0 # via + # -c requirements/common_constraints.txt # -r requirements/pip_tools.txt # build iniconfig==2.0.0 @@ -99,6 +117,7 @@ packaging==24.0 # -r requirements/ci.txt # -r requirements/pip_tools.txt # build + # pyproject-api # pytest # tox path==16.10.0 @@ -113,6 +132,7 @@ platformdirs==4.2.0 # via # -r requirements/ci.txt # pylint + # tox # virtualenv pluggy==1.4.0 # via @@ -121,10 +141,6 @@ pluggy==1.4.0 # tox polib==1.2.0 # via -r requirements/ci.txt -py==1.11.0 - # via - # -r requirements/ci.txt - # tox pycodestyle==2.11.1 # via -r requirements/ci.txt pylint==3.1.0 @@ -147,6 +163,10 @@ pylint-plugin-utils==0.8.2 # -r requirements/ci.txt # pylint-celery # pylint-django +pyproject-api==1.6.1 + # via + # -r requirements/ci.txt + # tox pyproject-hooks==1.0.0 # via # -r requirements/pip_tools.txt @@ -163,9 +183,7 @@ python-slugify==8.0.4 # -r requirements/ci.txt # code-annotations pytz==2024.1 - # via - # -r requirements/ci.txt - # django + # via -r requirements/ci.txt pyyaml==6.0.1 # via # -r requirements/ci.txt @@ -175,7 +193,6 @@ six==1.16.0 # -r requirements/ci.txt # edx-lint # mock - # tox sqlparse==0.4.4 # via # -r requirements/ci.txt @@ -196,6 +213,7 @@ tomli==2.0.1 # coverage # pip-tools # pylint + # pyproject-api # pyproject-hooks # pytest # tox @@ -203,10 +221,8 @@ tomlkit==0.12.4 # via # -r requirements/ci.txt # pylint -tox==3.28.0 - # via - # -c requirements/common_constraints.txt - # -r requirements/ci.txt +tox==4.14.2 + # via -r requirements/ci.txt typing-extensions==4.10.0 # via # -r requirements/ci.txt diff --git a/requirements/django.txt b/requirements/django.txt index ddab664a..db03776f 100644 --- a/requirements/django.txt +++ b/requirements/django.txt @@ -1 +1 @@ -django==3.2.25 +django==4.2.11 diff --git a/requirements/pip_tools.txt b/requirements/pip_tools.txt index 6659ecd9..4e1105e9 100644 --- a/requirements/pip_tools.txt +++ b/requirements/pip_tools.txt @@ -8,8 +8,10 @@ build==1.2.1 # via pip-tools click==8.1.7 # via pip-tools -importlib-metadata==7.1.0 - # via build +importlib-metadata==6.11.0 + # via + # -c requirements/common_constraints.txt + # build packaging==24.0 # via build pip-tools==7.4.1 diff --git a/requirements/test.txt b/requirements/test.txt index 1b95b638..74c0b972 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -12,6 +12,11 @@ astroid==3.1.0 # via # pylint # pylint-celery +backports-zoneinfo==0.2.1 ; python_version < "3.9" + # via + # -c requirements/constraints.txt + # -r requirements/base.txt + # django click==8.1.7 # via # click-log @@ -89,10 +94,7 @@ pytest-cov==5.0.0 python-slugify==8.0.4 # via code-annotations pytz==2024.1 - # via - # -r requirements/base.txt - # -r requirements/test.in - # django + # via -r requirements/test.in pyyaml==6.0.1 # via # -r requirements/base.txt diff --git a/requirements/tox.txt b/requirements/tox.txt index 954bdf96..cc5293d6 100644 --- a/requirements/tox.txt +++ b/requirements/tox.txt @@ -4,6 +4,12 @@ # # make upgrade # +cachetools==5.3.3 + # via tox +chardet==5.2.0 + # via tox +colorama==0.4.6 + # via tox distlib==0.3.8 # via virtualenv filelock==3.13.3 @@ -11,20 +17,22 @@ filelock==3.13.3 # tox # virtualenv packaging==24.0 - # via tox + # via + # pyproject-api + # tox platformdirs==4.2.0 - # via virtualenv + # via + # tox + # virtualenv pluggy==1.4.0 # via tox -py==1.11.0 - # via tox -six==1.16.0 +pyproject-api==1.6.1 # via tox tomli==2.0.1 - # via tox -tox==3.28.0 # via - # -c requirements/common_constraints.txt - # -r requirements/tox.in + # pyproject-api + # tox +tox==4.14.2 + # via -r requirements/tox.in virtualenv==20.25.1 # via tox From 52c59dedee3acbbaee6d1657b46b0f86ab9c3a7a Mon Sep 17 00:00:00 2001 From: awais qureshi Date: Wed, 3 Apr 2024 15:05:34 +0500 Subject: [PATCH 3/4] feat: Added python3.11 support. --- tox.ini | 1 - 1 file changed, 1 deletion(-) diff --git a/tox.ini b/tox.ini index 12cce0cf..09de8884 100644 --- a/tox.ini +++ b/tox.ini @@ -6,7 +6,6 @@ addopts = --cov=tests --cov-report term --cov-config=.coveragerc -p no:randomly testpaths = tests [testenv] -download = true deps = django42: Django>=4.2,<4.3 -r requirements/test.txt From dad02d0e4a029ba2b9f227e29d4018ac80c1fe45 Mon Sep 17 00:00:00 2001 From: Awais Qureshi Date: Thu, 4 Apr 2024 13:55:04 +0500 Subject: [PATCH 4/4] fix: Update Makefile --- Makefile | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 905a3c34..ad663de3 100644 --- a/Makefile +++ b/Makefile @@ -30,11 +30,7 @@ $(COMMON_CONSTRAINTS_TXT): upgrade: export CUSTOM_COMPILE_COMMAND=make upgrade upgrade: piptools $(COMMON_CONSTRAINTS_TXT)## update the requirements/*.txt files with the latest packages satisfying requirements/*.in - - sed 's/Django<2.3//g' requirements/common_constraints.txt > requirements/common_constraints.tmp - mv requirements/common_constraints.tmp requirements/common_constraints.txt - -# pip install -qr requirements/pip_tools.txt + pip install -qr requirements/pip_tools.txt pip-compile --allow-unsafe --upgrade --rebuild -o requirements/pip.txt requirements/pip.in pip-compile --upgrade -o requirements/pip_tools.txt requirements/pip_tools.in pip install -qr requirements/pip.txt