diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4305db1..743f215 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,8 +14,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@v4 diff --git a/requirements/base.txt b/requirements/base.txt index 5fdbbe4..6ec4476 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -8,12 +8,14 @@ amqp==5.2.0 # via kombu appdirs==1.4.4 # via fs -asgiref==3.7.2 +asgiref==3.8.1 # via django -backports-zoneinfo[tzdata]==0.2.1 +backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" # via + # -c requirements/constraints.txt # celery # django + # djangorestframework # kombu billiard==4.2.0 # via celery @@ -32,13 +34,13 @@ click==8.1.7 # click-plugins # click-repl # edx-django-utils -click-didyoumean==0.3.0 +click-didyoumean==0.3.1 # via celery click-plugins==1.1.1 # via celery click-repl==0.3.0 # via celery -django==4.2.10 +django==4.2.11 # via # -c requirements/common_constraints.txt # django-crum @@ -61,13 +63,13 @@ django-model-utils==4.4.0 # super-csv django-waffle==4.1.0 # via edx-django-utils -djangorestframework==3.14.0 +djangorestframework==3.15.1 # via super-csv edx-bulk-grades==1.0.2 # via -r requirements/base.in edx-celeryutils==1.2.5 # via super-csv -edx-django-utils==5.10.1 +edx-django-utils==5.11.0 # via super-csv edx-opaque-keys==2.5.1 # via edx-bulk-grades @@ -75,23 +77,25 @@ fs==2.4.16 # via xblock idna==3.6 # via requests -importlib-metadata==7.0.1 - # via markdown +importlib-metadata==6.11.0 + # via + # -c requirements/common_constraints.txt + # markdown jsonfield==3.1.0 # via edx-celeryutils -kombu==5.3.5 +kombu==5.3.6 # via celery lxml==5.1.0 # via xblock mako==1.3.2 # via xblock -markdown==3.5.2 +markdown==3.6 # via -r requirements/base.in markupsafe==2.1.5 # via # mako # xblock -newrelic==9.7.0 +newrelic==9.8.0 # via edx-django-utils path==16.10.0 # via path-py @@ -114,9 +118,6 @@ python-dateutil==2.9.0.post0 # celery # xblock pytz==2024.1 - # via - # djangorestframework - # xblock pyyaml==6.0.1 # via xblock requests==2.31.0 @@ -165,9 +166,9 @@ web-fragments==2.1.0 # xblock webob==1.8.7 # via xblock -xblock==2.0.0 +xblock==3.0.0 # via -r requirements/base.in -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/ci.txt b/requirements/ci.txt index 016e83b..cc402fb 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -20,12 +20,12 @@ 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 @@ -50,7 +50,7 @@ tomli==2.0.1 # -r requirements/tox.txt # pyproject-api # tox -tox==4.13.0 +tox==4.14.2 # via -r requirements/tox.txt virtualenv==20.25.1 # via diff --git a/requirements/common_constraints.txt b/requirements/common_constraints.txt index 96cc5db..e3bf8ea 100644 --- a/requirements/common_constraints.txt +++ b/requirements/common_constraints.txt @@ -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 a51cb08..089eb3f 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -10,3 +10,6 @@ # Common constraints for edx repos -c common_constraints.txt + +# Temporary to Support the python 3.11 Upgrade +backports.zoneinfo;python_version<"3.9" # Newer versions have zoneinfo available in the standard library \ No newline at end of file diff --git a/requirements/dev.txt b/requirements/dev.txt index b9e9d77..069ddff 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -12,7 +12,7 @@ appdirs==1.4.4 # via # -r requirements/base.txt # fs -asgiref==3.7.2 +asgiref==3.8.1 # via # -r requirements/base.txt # django @@ -20,8 +20,9 @@ astroid==3.1.0 # via # pylint # pylint-celery -backports-zoneinfo[tzdata]==0.2.1 +backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" # via + # -c requirements/constraints.txt # -r requirements/base.txt # celery # django @@ -68,7 +69,7 @@ click==8.1.7 # edx-django-utils # edx-lint # pip-tools -click-didyoumean==0.3.0 +click-didyoumean==0.3.1 # via # -r requirements/base.txt # celery @@ -82,13 +83,13 @@ click-repl==0.3.0 # via # -r requirements/base.txt # celery -code-annotations==1.6.0 +code-annotations==1.7.0 # via edx-lint colorama==0.4.6 # via # -r requirements/tox.txt # tox -coverage[toml]==7.4.3 +coverage[toml]==7.4.4 # via pytest-cov dill==0.3.8 # via pylint @@ -96,7 +97,7 @@ distlib==0.3.8 # via # -r requirements/tox.txt # virtualenv -django==4.2.10 +django==4.2.11 # via # -c requirements/common_constraints.txt # -r requirements/base.txt @@ -131,7 +132,7 @@ django-waffle==4.1.0 # via # -r requirements/base.txt # edx-django-utils -djangorestframework==3.14.0 +djangorestframework==3.15.1 # via # -r requirements/base.txt # super-csv @@ -143,7 +144,7 @@ edx-celeryutils==1.2.5 # via # -r requirements/base.txt # super-csv -edx-django-utils==5.10.1 +edx-django-utils==5.11.0 # via # -r requirements/base.txt # super-csv @@ -157,7 +158,7 @@ edx-opaque-keys==2.5.1 # edx-bulk-grades exceptiongroup==1.2.0 # via pytest -filelock==3.13.1 +filelock==3.13.3 # via # -r requirements/tox.txt # tox @@ -170,8 +171,9 @@ idna==3.6 # via # -r requirements/base.txt # requests -importlib-metadata==7.0.1 +importlib-metadata==6.11.0 # via + # -c requirements/common_constraints.txt # -r requirements/base.txt # build # markdown @@ -185,7 +187,7 @@ jsonfield==3.1.0 # via # -r requirements/base.txt # edx-celeryutils -kombu==5.3.5 +kombu==5.3.6 # via # -r requirements/base.txt # celery @@ -198,7 +200,7 @@ mako==1.3.2 # via # -r requirements/base.txt # xblock -markdown==3.5.2 +markdown==3.6 # via # -r requirements/base.in # -r requirements/base.txt @@ -210,11 +212,11 @@ markupsafe==2.1.5 # xblock mccabe==0.7.0 # via pylint -newrelic==9.7.0 +newrelic==9.8.0 # via # -r requirements/base.txt # edx-django-utils -packaging==23.2 +packaging==24.0 # via # -r requirements/tox.txt # build @@ -234,7 +236,7 @@ pbr==6.0.0 # via # -r requirements/base.txt # stevedore -pip-tools==7.4.0 +pip-tools==7.4.1 # via -r requirements/pip_tools.in platformdirs==4.2.0 # via @@ -291,9 +293,9 @@ pyproject-hooks==1.0.0 # via # build # pip-tools -pytest==8.1.0 +pytest==8.1.1 # via pytest-cov -pytest-cov==4.1.0 +pytest-cov==5.0.0 # via -r requirements/test.in python-dateutil==2.9.0.post0 # via @@ -305,7 +307,6 @@ python-slugify==8.0.4 pytz==2024.1 # via # -r requirements/base.txt - # djangorestframework # xblock pyyaml==6.0.1 # via @@ -363,7 +364,7 @@ tomli==2.0.1 # tox tomlkit==0.12.4 # via pylint -tox==4.13.0 +tox==4.14.2 # via # -r requirements/tox.in # -r requirements/tox.txt @@ -407,13 +408,13 @@ webob==1.8.7 # via # -r requirements/base.txt # xblock -wheel==0.42.0 +wheel==0.43.0 # via pip-tools -xblock==2.0.0 +xblock==3.0.0 # via # -r requirements/base.in # -r requirements/base.txt -zipp==3.17.0 +zipp==3.18.1 # via # -r requirements/base.txt # importlib-metadata 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/pip_tools.txt b/requirements/pip_tools.txt index abed760..3db2d4c 100644 --- a/requirements/pip_tools.txt +++ b/requirements/pip_tools.txt @@ -8,11 +8,13 @@ build==1.1.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/test.txt b/requirements/test.txt index fec690e..30a122c 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -12,7 +12,7 @@ appdirs==1.4.4 # via # -r requirements/base.txt # fs -asgiref==3.7.2 +asgiref==3.8.1 # via # -r requirements/base.txt # django @@ -20,8 +20,9 @@ astroid==3.1.0 # via # pylint # pylint-celery -backports-zoneinfo[tzdata]==0.2.1 +backports-zoneinfo[tzdata]==0.2.1 ; python_version < "3.9" # via + # -c requirements/constraints.txt # -r requirements/base.txt # celery # django @@ -57,7 +58,7 @@ click==8.1.7 # code-annotations # edx-django-utils # edx-lint -click-didyoumean==0.3.0 +click-didyoumean==0.3.1 # via # -r requirements/base.txt # celery @@ -71,13 +72,13 @@ click-repl==0.3.0 # via # -r requirements/base.txt # celery -code-annotations==1.6.0 +code-annotations==1.7.0 # via edx-lint -coverage[toml]==7.4.3 +coverage[toml]==7.4.4 # via pytest-cov dill==0.3.8 # via pylint -django==4.2.10 +django==4.2.11 # via # -c requirements/common_constraints.txt # -r requirements/base.txt @@ -105,7 +106,7 @@ django-waffle==4.1.0 # via # -r requirements/base.txt # edx-django-utils -djangorestframework==3.14.0 +djangorestframework==3.15.1 # via # -r requirements/base.txt # super-csv @@ -115,7 +116,7 @@ edx-celeryutils==1.2.5 # via # -r requirements/base.txt # super-csv -edx-django-utils==5.10.1 +edx-django-utils==5.11.0 # via # -r requirements/base.txt # super-csv @@ -135,8 +136,9 @@ idna==3.6 # via # -r requirements/base.txt # requests -importlib-metadata==7.0.1 +importlib-metadata==6.11.0 # via + # -c requirements/common_constraints.txt # -r requirements/base.txt # markdown iniconfig==2.0.0 @@ -149,7 +151,7 @@ jsonfield==3.1.0 # via # -r requirements/base.txt # edx-celeryutils -kombu==5.3.5 +kombu==5.3.6 # via # -r requirements/base.txt # celery @@ -161,7 +163,7 @@ mako==1.3.2 # via # -r requirements/base.txt # xblock -markdown==3.5.2 +markdown==3.6 # via -r requirements/base.txt markupsafe==2.1.5 # via @@ -171,11 +173,11 @@ markupsafe==2.1.5 # xblock mccabe==0.7.0 # via pylint -newrelic==9.7.0 +newrelic==9.8.0 # via # -r requirements/base.txt # edx-django-utils -packaging==23.2 +packaging==24.0 # via pytest path==16.10.0 # via @@ -225,9 +227,9 @@ pynacl==1.5.0 # via # -r requirements/base.txt # edx-django-utils -pytest==8.1.0 +pytest==8.1.1 # via pytest-cov -pytest-cov==4.1.0 +pytest-cov==5.0.0 # via -r requirements/test.in python-dateutil==2.9.0.post0 # via @@ -239,7 +241,6 @@ python-slugify==8.0.4 pytz==2024.1 # via # -r requirements/base.txt - # djangorestframework # xblock pyyaml==6.0.1 # via @@ -324,9 +325,9 @@ webob==1.8.7 # via # -r requirements/base.txt # xblock -xblock==2.0.0 +xblock==3.0.0 # via -r requirements/base.txt -zipp==3.17.0 +zipp==3.18.1 # via # -r requirements/base.txt # importlib-metadata diff --git a/requirements/tox.txt b/requirements/tox.txt index e9a6490..cc5293d 100644 --- a/requirements/tox.txt +++ b/requirements/tox.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/tox.in virtualenv==20.25.1 # via tox diff --git a/setup.py b/setup.py index ab5e889..df57455 100644 --- a/setup.py +++ b/setup.py @@ -75,8 +75,8 @@ def get_version(file_path): 'Operating System :: OS Independent', 'Programming Language :: Python :: 3', 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.11', 'Framework :: Django', - 'Framework :: Django :: 3.2', 'Framework :: Django :: 4.2', ], packages=[ diff --git a/staff_graded/__init__.py b/staff_graded/__init__.py index 2637900..ff3934e 100644 --- a/staff_graded/__init__.py +++ b/staff_graded/__init__.py @@ -2,4 +2,4 @@ from .staff_graded import StaffGradedXBlock -__version__ = '2.2.0' +__version__ = '2.3.0' diff --git a/tox.ini b/tox.ini index b11c876..1391627 100644 --- a/tox.ini +++ b/tox.ini @@ -1,11 +1,10 @@ [tox] -envlist = django{32,42}, quality +envlist = django{42}, quality [testenv] allowlist_externals = make deps = - django32: Django>=3.2,<4.0 django42: Django>=4.2,<4.3 -r{toxinidir}/requirements/ci.txt commands =