From d3766526c956729543a46e152338055179444ee2 Mon Sep 17 00:00:00 2001 From: edX requirements bot Date: Fri, 23 Feb 2024 07:37:45 -0500 Subject: [PATCH] feat: add python 3.11 support --- .github/workflows/ci.yml | 3 +-- requirements/base.txt | 28 ++++++++++--------- requirements/ci.txt | 16 +++++------ requirements/common_constraints.txt | 11 +++++++- requirements/constraints.txt | 3 +++ requirements/pip.txt | 6 ++--- requirements/pip_tools.txt | 20 ++++++++------ requirements/quality.txt | 42 ++++++++++++++++------------- requirements/test.txt | 6 ++--- requirements/tox.txt | 16 +++++------ setup.py | 5 ++-- tox.ini | 20 +++++++------- 12 files changed, 98 insertions(+), 78 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 78be3e7..27c15a3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,4 +1,3 @@ ---- name: Python CI on: @@ -15,11 +14,11 @@ jobs: matrix: python-version: - '3.8' + - '3.11' TOX_ENV: - csslint - eslint - quality - - django32 - django42 steps: - uses: actions/checkout@v2 diff --git a/requirements/base.txt b/requirements/base.txt index 1f02b35..941d264 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -6,9 +6,13 @@ # appdirs==1.4.4 # via fs -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 requirements/constraints.txt + # django +django==4.2.11 # via # -c requirements/common_constraints.txt # -r requirements/base.in @@ -16,20 +20,18 @@ edx-codejail==3.3.3 # via -r requirements/base.in fs==2.4.16 # via xblock -lxml==4.9.3 +lxml==5.2.1 # via xblock -mako==1.3.0 +mako==1.3.2 # via xblock -markupsafe==2.1.3 +markupsafe==2.1.5 # via # mako # xblock -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 + # via xblock +pytz==2024.1 # via xblock -pytz==2023.3.post1 - # via - # django - # xblock pyyaml==6.0.1 # via xblock simplejson==3.19.2 @@ -41,13 +43,13 @@ six==1.16.0 # python-dateutil sqlparse==0.4.4 # via django -typing-extensions==4.8.0 +typing-extensions==4.10.0 # via asgiref -web-fragments==2.1.0 +web-fragments==2.2.0 # via xblock webob==1.8.7 # via xblock -xblock==1.8.1 +xblock==3.1.0 # via -r requirements/base.in # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/ci.txt b/requirements/ci.txt index 04adb2e..a076b8b 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -4,7 +4,7 @@ # # make upgrade # -cachetools==5.3.2 +cachetools==5.3.3 # via # -r requirements/tox.txt # tox @@ -16,26 +16,26 @@ colorama==0.4.6 # via # -r requirements/tox.txt # tox -distlib==0.3.7 +distlib==0.3.8 # via # -r requirements/tox.txt # virtualenv -filelock==3.13.1 +filelock==3.13.3 # via # -r requirements/tox.txt # tox # virtualenv -packaging==23.2 +packaging==24.0 # via # -r requirements/tox.txt # pyproject-api # tox -platformdirs==3.11.0 +platformdirs==4.2.0 # via # -r requirements/tox.txt # tox # virtualenv -pluggy==1.3.0 +pluggy==1.4.0 # via # -r requirements/tox.txt # tox @@ -48,9 +48,9 @@ tomli==2.0.1 # -r requirements/tox.txt # pyproject-api # tox -tox==4.11.3 +tox==4.14.2 # via -r requirements/tox.txt -virtualenv==20.24.6 +virtualenv==20.25.1 # via # -r requirements/tox.txt # tox diff --git a/requirements/common_constraints.txt b/requirements/common_constraints.txt index 15aafb2..e3bf8ea 100644 --- a/requirements/common_constraints.txt +++ b/requirements/common_constraints.txt @@ -13,7 +13,7 @@ # 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 @@ -21,3 +21,12 @@ elasticsearch<7.14.0 # django-simple-history>3.0.0 adds indexing and causes a lot of migrations to be affected django-simple-history==3.0.0 + +# opentelemetry requires version 6.x at the moment: +# https://github.com/open-telemetry/opentelemetry-python/issues/3570 +# Normally this could be added as a constraint in edx-django-utils, where we're +# adding the opentelemetry dependency. However, when we compile pip-tools.txt, +# that uses version 7.x, and then there's no undoing that when compiling base.txt. +# So we need to pin it globally, for now. +# Ticket for unpinning: https://github.com/openedx/edx-lint/issues/407 +importlib-metadata<7 diff --git a/requirements/constraints.txt b/requirements/constraints.txt index 7183faf..db8927b 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -12,3 +12,6 @@ -c common_constraints.txt # TODO: Many pinned dependencies should be unpinned and/or moved to this constraints file. + +# 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/pip.txt b/requirements/pip.txt index 9014f2c..cf44902 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -4,11 +4,11 @@ # # make upgrade # -wheel==0.41.3 +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==68.2.2 +setuptools==69.2.0 # via -r requirements/pip.in diff --git a/requirements/pip_tools.txt b/requirements/pip_tools.txt index 449e80a..4e1105e 100644 --- a/requirements/pip_tools.txt +++ b/requirements/pip_tools.txt @@ -4,26 +4,30 @@ # # make upgrade # -build==1.0.3 +build==1.2.1 # via pip-tools click==8.1.7 # via pip-tools -importlib-metadata==6.8.0 - # 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.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.41.3 +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/quality.txt b/requirements/quality.txt index 01af18b..0127273 100644 --- a/requirements/quality.txt +++ b/requirements/quality.txt @@ -8,17 +8,22 @@ appdirs==1.4.4 # via # -r requirements/base.txt # fs -asgiref==3.7.2 +asgiref==3.8.1 # via # -r requirements/base.txt # django -astroid==3.0.1 +astroid==3.1.0 # via pylint -coverage==7.3.2 +backports-zoneinfo==0.2.1 ; python_version < "3.9" + # via + # -c requirements/constraints.txt + # -r requirements/base.txt + # django +coverage==7.4.4 # via -r requirements/test.txt -dill==0.3.7 +dill==0.3.8 # via pylint -django==3.2.23 +django==4.2.11 # via # -c requirements/common_constraints.txt # -r requirements/base.txt @@ -30,17 +35,17 @@ fs==2.4.16 # via # -r requirements/base.txt # xblock -isort==5.12.0 +isort==5.13.2 # via pylint -lxml==4.9.3 +lxml==5.2.1 # via # -r requirements/base.txt # xblock -mako==1.3.0 +mako==1.3.2 # via # -r requirements/base.txt # xblock -markupsafe==2.1.3 +markupsafe==2.1.5 # via # -r requirements/base.txt # mako @@ -51,24 +56,23 @@ pbr==6.0.0 # via # -r requirements/test.txt # stevedore -platformdirs==4.0.0 +platformdirs==4.2.0 # via pylint pycodestyle==2.11.1 # via -r requirements/quality.in -pylint==3.0.2 +pylint==3.1.0 # via -r requirements/quality.in pymongo==3.13.0 # via # -r requirements/test.txt # edx-opaque-keys -python-dateutil==2.8.2 +python-dateutil==2.9.0.post0 # via # -r requirements/base.txt # xblock -pytz==2023.3.post1 +pytz==2024.1 # via # -r requirements/base.txt - # django # xblock pyyaml==6.0.1 # via @@ -88,15 +92,15 @@ sqlparse==0.4.4 # via # -r requirements/base.txt # django -stevedore==5.1.0 +stevedore==5.2.0 # via # -r requirements/test.txt # edx-opaque-keys tomli==2.0.1 # via pylint -tomlkit==0.12.2 +tomlkit==0.12.4 # via pylint -typing-extensions==4.8.0 +typing-extensions==4.10.0 # via # -r requirements/base.txt # -r requirements/test.txt @@ -104,7 +108,7 @@ typing-extensions==4.8.0 # astroid # edx-opaque-keys # pylint -web-fragments==2.1.0 +web-fragments==2.2.0 # via # -r requirements/base.txt # xblock @@ -112,7 +116,7 @@ webob==1.8.7 # via # -r requirements/base.txt # xblock -xblock==1.8.1 +xblock==3.1.0 # via -r requirements/base.txt # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/test.txt b/requirements/test.txt index 0959bfa..fa00c97 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -4,7 +4,7 @@ # # make upgrade # -coverage==7.3.2 +coverage==7.4.4 # via -r requirements/test.in edx-opaque-keys==2.5.1 # via -r requirements/test.in @@ -12,7 +12,7 @@ pbr==6.0.0 # via stevedore pymongo==3.13.0 # via edx-opaque-keys -stevedore==5.1.0 +stevedore==5.2.0 # via edx-opaque-keys -typing-extensions==4.8.0 +typing-extensions==4.10.0 # via edx-opaque-keys diff --git a/requirements/tox.txt b/requirements/tox.txt index 4685671..cc5293d 100644 --- a/requirements/tox.txt +++ b/requirements/tox.txt @@ -4,27 +4,27 @@ # # make upgrade # -cachetools==5.3.2 +cachetools==5.3.3 # via tox chardet==5.2.0 # via tox colorama==0.4.6 # via tox -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 # pyproject-api # tox -platformdirs==3.11.0 +platformdirs==4.2.0 # via # tox # virtualenv -pluggy==1.3.0 +pluggy==1.4.0 # via tox pyproject-api==1.6.1 # via tox @@ -32,7 +32,7 @@ tomli==2.0.1 # via # pyproject-api # tox -tox==4.11.3 +tox==4.14.2 # via -r requirements/tox.in -virtualenv==20.24.6 +virtualenv==20.25.1 # via tox diff --git a/setup.py b/setup.py index 1dd2716..423c267 100644 --- a/setup.py +++ b/setup.py @@ -124,7 +124,7 @@ def is_requirement(line): setup( name='xblock-sql-grader', - version='0.5.1', + version='0.6.0', description='SQL Grader XBlock', # TODO: write a better description. license='AGPLv3', long_description=README, @@ -149,13 +149,12 @@ def is_requirement(line): classifiers=[ 'Development Status :: 5 - Production/Stable', '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.5", "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.11", ] ) diff --git a/tox.ini b/tox.ini index bbc2d45..58ebf1b 100644 --- a/tox.ini +++ b/tox.ini @@ -2,14 +2,14 @@ envlist = csslint eslint - py38-django{32,42}quality + py{38, 311}-django{42}quality [testenv] deps = -rrequirements/test.txt -e git+https://github.com/openedx/codejail.git@3.0.0\#egg=codejail - django32: Django>=3.2,<4.0 django42: Django>=4.2,<4.3 + commands = coverage run manage.py test coverage report @@ -22,7 +22,7 @@ skip_install = True [testenv:csslint] allowlist_externals = {toxinidir}/node_modules/csslint/dist/cli.js -passenv = +passenv = TRAVIS TRAVIS_JOB_ID TRAVIS_BRANCH @@ -33,7 +33,7 @@ skip_install = True [testenv:eslint] allowlist_externals = {toxinidir}/node_modules/eslint/bin/eslint.js -passenv = +passenv = TRAVIS TRAVIS_JOB_ID TRAVIS_BRANCH @@ -43,7 +43,7 @@ deps = skip_install = True [testenv:quality] -passenv = +passenv = TRAVIS TRAVIS_JOB_ID TRAVIS_BRANCH @@ -61,7 +61,7 @@ commands = [testenv:translations_pull] deps = - edx-i18n-tools==0.4.8 + edx-i18n-tools==1.3.0 transifex-client commands = cd sql_grader && i18n_tool transifex pull @@ -70,7 +70,7 @@ allowlist_externals = [testenv:translations_compile] deps = - edx-i18n-tools==0.4.8 + edx-i18n-tools==1.3.0 commands = cd sql_grader && i18n_tool generate allowlist_externals = @@ -78,7 +78,7 @@ allowlist_externals = [testenv:translations_dummy] deps = - edx-i18n-tools==0.4.8 + edx-i18n-tools==1.3.0 commands = cd sql_grader && i18n_tool dummy allowlist_externals = @@ -86,7 +86,7 @@ allowlist_externals = [testenv:translations_detect_changed] deps = - edx-i18n-tools==0.4.8 + edx-i18n-tools==1.3.0 commands = cd sql_grader && i18n_tool changed allowlist_externals = @@ -94,7 +94,7 @@ allowlist_externals = [testenv:translations_extract] deps = - edx-i18n-tools==0.4.8 + edx-i18n-tools==1.3.0 commands = cd sql_grader && i18n_tool extract allowlist_externals =