From 1a1a432efb3e00d499851585028d9bdb9fc01307 Mon Sep 17 00:00:00 2001 From: awais qureshi Date: Tue, 2 Apr 2024 14:00:29 +0500 Subject: [PATCH] feat: Adding python3.11 and 3.12 support. --- CHANGELOG.rst | 6 +++ Makefile | 7 ++- code_annotations/__init__.py | 2 +- requirements/base.txt | 8 +-- requirements/ci.txt | 12 ++--- requirements/common_constraints.txt | 0 requirements/constraints.txt | 8 +-- requirements/dev.txt | 71 +++++++++++++------------- requirements/django.txt | 14 ++--- requirements/doc.txt | 79 +++++++++++++++-------------- requirements/pip-tools.txt | 16 +++--- requirements/pip.txt | 6 +-- requirements/quality.txt | 52 +++++++++---------- requirements/test.txt | 39 +++++++------- 14 files changed, 167 insertions(+), 153 deletions(-) create mode 100644 requirements/common_constraints.txt diff --git a/CHANGELOG.rst b/CHANGELOG.rst index d19b4f7..2d2394c 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -14,6 +14,12 @@ Change Log Unreleased ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +[1.8.0] - 2024-03-31 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +* Added python3.11 and 3.12 support. Dropped django32 support. + + [1.6.0] - 2024-01-31 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/Makefile b/Makefile index 4080d6e..00f4ca9 100644 --- a/Makefile +++ b/Makefile @@ -37,8 +37,13 @@ docs: ## generate Sphinx HTML documentation, including API docs tox -e docs $(BROWSER) docs/_build/html/index.html +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 "$(@)" + 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 pip install -qr requirements/pip-tools.txt # Make sure to compile files after any other files they include! pip-compile --upgrade --allow-unsafe -o requirements/pip.txt requirements/pip.in diff --git a/code_annotations/__init__.py b/code_annotations/__init__.py index 40aa8f8..34afadd 100644 --- a/code_annotations/__init__.py +++ b/code_annotations/__init__.py @@ -2,4 +2,4 @@ Extensible tools for parsing annotations in codebases. """ -__version__ = '1.7.0' +__version__ = '1.8.0' diff --git a/requirements/base.txt b/requirements/base.txt index c0f2138..c8d3d75 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -6,17 +6,17 @@ # click==8.1.7 # via -r requirements/base.in -jinja2==3.1.2 +jinja2==3.1.3 # via -r requirements/base.in -markupsafe==2.1.3 +markupsafe==2.1.5 # via jinja2 pbr==6.0.0 # via stevedore -python-slugify==8.0.1 +python-slugify==8.0.4 # via -r requirements/base.in pyyaml==6.0.1 # via -r requirements/base.in -stevedore==5.1.0 +stevedore==5.2.0 # via -r requirements/base.in text-unidecode==1.3 # via python-slugify diff --git a/requirements/ci.txt b/requirements/ci.txt index 77d02ef..5e50065 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -4,17 +4,17 @@ # # make upgrade # -distlib==0.3.7 +distlib==0.3.8 # via virtualenv -filelock==3.13.1 +filelock==3.13.3 # via # tox # virtualenv -packaging==23.2 +packaging==24.0 # via tox -platformdirs==4.1.0 +platformdirs==4.2.0 # via virtualenv -pluggy==1.3.0 +pluggy==1.4.0 # via tox py==1.11.0 # via tox @@ -26,5 +26,5 @@ tox==3.28.0 # via # -c requirements/constraints.txt # -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 new file mode 100644 index 0000000..e69de29 diff --git a/requirements/constraints.txt b/requirements/constraints.txt index da7cf55..60d1ac2 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -8,9 +8,11 @@ # pin when possible. Writing an issue against the offending project and # 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 - +# This file contains all common constraints for edx-repos +-c common_constraints.txt # 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 + +# Temporary to Support the python 3.11 Upgrade +backports.zoneinfo;python_version<"3.9" # Newer versions have zoneinfo available in the standard library diff --git a/requirements/dev.txt b/requirements/dev.txt index 9bca528..7cf738e 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -4,16 +4,21 @@ # # make upgrade # -asgiref==3.7.2 +asgiref==3.8.1 # via # -r requirements/quality.txt # django -astroid==3.0.1 +astroid==3.1.0 # via # -r requirements/quality.txt # pylint # pylint-celery -build==1.0.3 +backports-zoneinfo==0.2.1 ; python_version < "3.9" + # via + # -c requirements/constraints.txt + # -r requirements/quality.txt + # django +build==1.2.1 # via # -r requirements/pip-tools.txt # pip-tools @@ -31,41 +36,38 @@ click-log==0.4.0 # via # -r requirements/quality.txt # edx-lint -code-annotations==1.5.0 +code-annotations==1.7.0 # via # -r requirements/quality.txt # edx-lint -coverage[toml]==7.3.2 +coverage[toml]==7.4.4 # via # -r requirements/quality.txt - # coverage # pytest-cov -diff-cover==8.0.1 +diff-cover==8.0.3 # via -r requirements/dev.in -dill==0.3.7 +dill==0.3.8 # via # -r requirements/quality.txt # pylint -distlib==0.3.7 +distlib==0.3.8 # via # -r requirements/ci.txt # virtualenv -django==3.2.23 - # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt - # -r requirements/quality.txt +django==4.2.11 + # via -r requirements/quality.txt edx-lint==5.3.6 # via -r requirements/quality.txt 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 -importlib-metadata==7.0.0 +importlib-metadata==7.1.0 # via # -r requirements/pip-tools.txt # build @@ -73,16 +75,16 @@ iniconfig==2.0.0 # via # -r requirements/quality.txt # pytest -isort==5.12.0 +isort==5.13.2 # via # -r requirements/quality.txt # pylint -jinja2==3.1.2 +jinja2==3.1.3 # via # -r requirements/quality.txt # code-annotations # diff-cover -markupsafe==2.1.3 +markupsafe==2.1.5 # via # -r requirements/quality.txt # jinja2 @@ -92,7 +94,7 @@ mccabe==0.7.0 # pylint mock==5.1.0 # via -r requirements/quality.txt -packaging==23.2 +packaging==24.0 # via # -r requirements/ci.txt # -r requirements/pip-tools.txt @@ -104,15 +106,15 @@ pbr==6.0.0 # via # -r requirements/quality.txt # stevedore -pip-tools==7.3.0 +pip-tools==7.4.1 # via -r requirements/pip-tools.txt -platformdirs==4.1.0 +platformdirs==4.2.0 # via # -r requirements/ci.txt # -r requirements/quality.txt # pylint # virtualenv -pluggy==1.3.0 +pluggy==1.4.0 # via # -r requirements/ci.txt # -r requirements/quality.txt @@ -129,7 +131,7 @@ pydocstyle==6.3.0 # via -r requirements/quality.txt pygments==2.17.2 # via diff-cover -pylint==3.0.2 +pylint==3.1.0 # via # -r requirements/quality.txt # edx-lint @@ -153,20 +155,17 @@ pyproject-hooks==1.0.0 # via # -r requirements/pip-tools.txt # build -pytest==7.4.3 + # pip-tools +pytest==8.1.1 # via # -r requirements/quality.txt # pytest-cov -pytest-cov==4.1.0 +pytest-cov==5.0.0 # via -r requirements/quality.txt -python-slugify==8.0.1 +python-slugify==8.0.4 # via # -r requirements/quality.txt # code-annotations -pytz==2023.3.post1 - # via - # -r requirements/quality.txt - # django pyyaml==6.0.1 # via # -r requirements/quality.txt @@ -185,7 +184,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 @@ -205,7 +204,7 @@ tomli==2.0.1 # pyproject-hooks # pytest # tox -tomlkit==0.12.3 +tomlkit==0.12.4 # via # -r requirements/quality.txt # pylint @@ -213,21 +212,21 @@ tox==3.28.0 # via # -c requirements/constraints.txt # -r requirements/ci.txt -typing-extensions==4.8.0 +typing-extensions==4.10.0 # via # -r requirements/quality.txt # asgiref # astroid # pylint -virtualenv==20.25.0 +virtualenv==20.25.1 # via # -r requirements/ci.txt # tox -wheel==0.42.0 +wheel==0.43.0 # via # -r requirements/pip-tools.txt # pip-tools -zipp==3.17.0 +zipp==3.18.1 # via # -r requirements/pip-tools.txt # importlib-metadata diff --git a/requirements/django.txt b/requirements/django.txt index 5edfdba..5180661 100644 --- a/requirements/django.txt +++ b/requirements/django.txt @@ -4,15 +4,15 @@ # # make upgrade # -asgiref==3.7.2 +asgiref==3.8.1 # via django -django==3.2.23 +backports-zoneinfo==0.2.1 ; python_version < "3.9" # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt - # -r requirements/django.in -pytz==2023.3.post1 - # via django + # -c requirements/constraints.txt + # django +django==4.2.11 + # via -r requirements/django.in sqlparse==0.4.4 # via django -typing-extensions==4.8.0 +typing-extensions==4.10.0 # via asgiref diff --git a/requirements/doc.txt b/requirements/doc.txt index b4064df..5ac4deb 100644 --- a/requirements/doc.txt +++ b/requirements/doc.txt @@ -8,31 +8,33 @@ 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 -babel==2.13.1 +babel==2.14.0 # via # pydata-sphinx-theme # sphinx -beautifulsoup4==4.12.2 +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==2023.11.17 +certifi==2024.2.2 # via requests charset-normalizer==3.3.2 # via requests click==8.1.7 # via -r requirements/test.txt -coverage[toml]==7.3.2 +coverage[toml]==7.4.4 # via # -r requirements/test.txt - # coverage # pytest-cov -django==3.2.23 - # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt - # -r requirements/test.txt +django==4.2.11 + # via -r requirements/test.txt doc8==1.1.1 # via -r requirements/doc.in docutils==0.19 @@ -50,28 +52,32 @@ idna==3.6 # via requests imagesize==1.4.1 # via sphinx -importlib-metadata==7.0.0 +importlib-metadata==7.1.0 # via # 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.0 +jaraco-classes==3.4.0 # via keyring -jinja2==3.1.2 +jaraco-context==4.3.0 + # via keyring +jaraco-functools==4.0.0 + # via keyring +jinja2==3.1.3 # via # -r requirements/test.txt # sphinx -keyring==24.3.0 +keyring==25.0.0 # via twine markdown-it-py==3.0.0 # via rich -markupsafe==2.1.3 +markupsafe==2.1.5 # via # -r requirements/test.txt # jinja2 @@ -79,11 +85,13 @@ mdurl==0.1.2 # via markdown-it-py mock==5.1.0 # via -r requirements/test.txt -more-itertools==10.1.0 - # via jaraco-classes -nh3==0.2.15 +more-itertools==10.2.0 + # via + # jaraco-classes + # jaraco-functools +nh3==0.2.17 # via readme-renderer -packaging==23.2 +packaging==24.0 # via # -r requirements/test.txt # pydata-sphinx-theme @@ -93,9 +101,9 @@ pbr==6.0.0 # via # -r requirements/test.txt # stevedore -pkginfo==1.9.6 +pkginfo==1.10.0 # via twine -pluggy==1.3.0 +pluggy==1.4.0 # via # -r requirements/test.txt # pytest @@ -109,22 +117,19 @@ pygments==2.17.2 # readme-renderer # rich # sphinx -pytest==7.4.3 +pytest==8.1.1 # via # -r requirements/test.txt # pytest-cov -pytest-cov==4.1.0 +pytest-cov==5.0.0 # via -r requirements/test.txt -python-slugify==8.0.1 +python-slugify==8.0.4 # via -r requirements/test.txt -pytz==2023.3.post1 - # via - # -r requirements/test.txt - # babel - # django +pytz==2024.1 + # via babel pyyaml==6.0.1 # via -r requirements/test.txt -readme-renderer==42.0 +readme-renderer==43.0 # via twine requests==2.31.0 # via @@ -137,7 +142,7 @@ restructuredtext-lint==1.4.0 # via doc8 rfc3986==2.0.0 # via twine -rich==13.7.0 +rich==13.7.1 # via twine snowballstemmer==2.2.0 # via sphinx @@ -166,7 +171,7 @@ sqlparse==0.4.4 # via # -r requirements/test.txt # django -stevedore==5.1.0 +stevedore==5.2.0 # via # -r requirements/test.txt # doc8 @@ -180,19 +185,19 @@ tomli==2.0.1 # coverage # doc8 # pytest -twine==4.0.2 +twine==5.0.0 # via -r requirements/doc.in -typing-extensions==4.8.0 +typing-extensions==4.10.0 # via # -r requirements/test.txt # asgiref # pydata-sphinx-theme # rich -urllib3==2.1.0 +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 93a9cee..1471edd 100644 --- a/requirements/pip-tools.txt +++ b/requirements/pip-tools.txt @@ -4,26 +4,28 @@ # # make upgrade # -build==1.0.3 +build==1.2.1 # via pip-tools click==8.1.7 # via pip-tools -importlib-metadata==7.0.0 +importlib-metadata==7.1.0 # via build -packaging==23.2 +packaging==24.0 # via build -pip-tools==7.3.0 +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 # 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 14cb99c..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==23.3.1 +pip==24.0 # via -r requirements/pip.in -setuptools==69.0.2 +setuptools==69.2.0 # via -r requirements/pip.in diff --git a/requirements/quality.txt b/requirements/quality.txt index 0942322..22323ec 100644 --- a/requirements/quality.txt +++ b/requirements/quality.txt @@ -4,14 +4,19 @@ # # make upgrade # -asgiref==3.7.2 +asgiref==3.8.1 # via # -r requirements/test.txt # django -astroid==3.0.1 +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 click==8.1.7 # via # -r requirements/test.txt @@ -20,19 +25,16 @@ click==8.1.7 # edx-lint click-log==0.4.0 # via edx-lint -code-annotations==1.5.0 +code-annotations==1.7.0 # via edx-lint -coverage[toml]==7.3.2 +coverage[toml]==7.4.4 # via # -r requirements/test.txt - # coverage # pytest-cov -dill==0.3.7 +dill==0.3.8 # via pylint -django==3.2.23 - # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt - # -r requirements/test.txt +django==4.2.11 + # via -r requirements/test.txt edx-lint==5.3.6 # via -r requirements/quality.in exceptiongroup==1.2.0 @@ -43,15 +45,15 @@ iniconfig==2.0.0 # via # -r requirements/test.txt # pytest -isort==5.12.0 +isort==5.13.2 # via # -r requirements/quality.in # pylint -jinja2==3.1.2 +jinja2==3.1.3 # via # -r requirements/test.txt # code-annotations -markupsafe==2.1.3 +markupsafe==2.1.5 # via # -r requirements/test.txt # jinja2 @@ -59,7 +61,7 @@ mccabe==0.7.0 # via pylint mock==5.1.0 # via -r requirements/test.txt -packaging==23.2 +packaging==24.0 # via # -r requirements/test.txt # pytest @@ -67,9 +69,9 @@ pbr==6.0.0 # via # -r requirements/test.txt # stevedore -platformdirs==4.1.0 +platformdirs==4.2.0 # via pylint -pluggy==1.3.0 +pluggy==1.4.0 # via # -r requirements/test.txt # pytest @@ -77,7 +79,7 @@ pycodestyle==2.11.1 # via -r requirements/quality.in pydocstyle==6.3.0 # via -r requirements/quality.in -pylint==3.0.2 +pylint==3.1.0 # via # edx-lint # pylint-celery @@ -91,20 +93,16 @@ pylint-plugin-utils==0.8.2 # via # pylint-celery # pylint-django -pytest==7.4.3 +pytest==8.1.1 # via # -r requirements/test.txt # pytest-cov -pytest-cov==4.1.0 +pytest-cov==5.0.0 # via -r requirements/test.txt -python-slugify==8.0.1 +python-slugify==8.0.4 # via # -r requirements/test.txt # code-annotations -pytz==2023.3.post1 - # via - # -r requirements/test.txt - # django pyyaml==6.0.1 # via # -r requirements/test.txt @@ -117,7 +115,7 @@ sqlparse==0.4.4 # via # -r requirements/test.txt # django -stevedore==5.1.0 +stevedore==5.2.0 # via # -r requirements/test.txt # code-annotations @@ -131,9 +129,9 @@ tomli==2.0.1 # coverage # pylint # pytest -tomlkit==0.12.3 +tomlkit==0.12.4 # via pylint -typing-extensions==4.8.0 +typing-extensions==4.10.0 # via # -r requirements/test.txt # asgiref diff --git a/requirements/test.txt b/requirements/test.txt index 0fef0d0..f544b3f 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -4,56 +4,53 @@ # # make upgrade # -asgiref==3.7.2 +asgiref==3.8.1 # via # -r requirements/django.txt # django -click==8.1.7 - # via -r requirements/base.txt -coverage[toml]==7.3.2 - # via - # coverage - # pytest-cov +backports-zoneinfo==0.2.1 ; python_version < "3.9" # via - # -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt + # -c requirements/constraints.txt # -r requirements/django.txt + # django +click==8.1.7 + # via -r requirements/base.txt +coverage[toml]==7.4.4 + # via pytest-cov + # via -r requirements/django.txt exceptiongroup==1.2.0 # via pytest iniconfig==2.0.0 # via pytest -jinja2==3.1.2 +jinja2==3.1.3 # via -r requirements/base.txt -markupsafe==2.1.3 +markupsafe==2.1.5 # via # -r requirements/base.txt # jinja2 mock==5.1.0 # via -r requirements/test.in -packaging==23.2 +packaging==24.0 # via pytest pbr==6.0.0 # via # -r requirements/base.txt # stevedore -pluggy==1.3.0 +pluggy==1.4.0 # via pytest -pytest==7.4.3 +pytest==8.1.1 # via pytest-cov -pytest-cov==4.1.0 +pytest-cov==5.0.0 # via -r requirements/test.in -python-slugify==8.0.1 +python-slugify==8.0.4 # via -r requirements/base.txt -pytz==2023.3.post1 - # via - # -r requirements/django.txt - # django pyyaml==6.0.1 # via -r requirements/base.txt sqlparse==0.4.4 # via # -r requirements/django.txt # django -stevedore==5.1.0 +stevedore==5.2.0 # via -r requirements/base.txt text-unidecode==1.3 # via @@ -63,7 +60,7 @@ tomli==2.0.1 # via # coverage # pytest -typing-extensions==4.8.0 +typing-extensions==4.10.0 # via # -r requirements/django.txt # asgiref