diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 57443ee..b621cca 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,8 +13,10 @@ jobs: strategy: matrix: os: [ubuntu-20.04] - python-version: ['3.8'] - toxenv: [quality, django32, django40, django42] + python-version: + - '3.8' + - '3.12' + toxenv: [quality, django42] steps: - name: checkout repo diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 4cc3b81..3a95387 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -14,6 +14,14 @@ Change Log Unreleased ********** +3.6.0 +***** + +Added +===== + +* feat: support for python3.12. + 3.5.0 ***** diff --git a/djpyfs/__init__.py b/djpyfs/__init__.py index e2de548..21294fb 100644 --- a/djpyfs/__init__.py +++ b/djpyfs/__init__.py @@ -1,3 +1,3 @@ # pylint: disable=django-not-configured """init file""" -__version__ = '3.5.0' +__version__ = '3.6.0' diff --git a/requirements/ci.txt b/requirements/ci.txt index 389ad8c..65c85eb 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -16,7 +16,7 @@ filelock==3.13.1 # 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.1 # via -r requirements/ci.in virtualenv==20.25.1 # via tox 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 69d5245..bde94d0 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -14,3 +14,5 @@ # moto>5.0.0 contains breaking changes with mock_s3 testing # needs to fixed separately moto<5.0.0 + +backports.zoneinfo;python_version<"3.9" \ No newline at end of file diff --git a/requirements/pip-tools.txt b/requirements/pip-tools.txt index 4d7b49a..67aaa3d 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.0 # 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 ff319b6..e9a7a83 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -4,7 +4,7 @@ # # pip-compile --allow-unsafe --output-file=requirements/pip.txt requirements/pip.in # -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: diff --git a/requirements/quality.txt b/requirements/quality.txt index ee8730d..196a6d0 100644 --- a/requirements/quality.txt +++ b/requirements/quality.txt @@ -16,8 +16,9 @@ astroid==3.1.0 # via # pylint # pylint-celery -backports-zoneinfo==0.2.1 +backports-zoneinfo==0.2.1 ; python_version < "3.9" # via + # -c requirements/constraints.txt # -r requirements/test.txt # django boto3==1.34.54 diff --git a/tox.ini b/tox.ini index bf9ec70..fda05f8 100644 --- a/tox.ini +++ b/tox.ini @@ -1,8 +1,8 @@ [tox] -envlist = python{3.8}-django{32,40,42},quality +envlist = python{3.8,3.12}-django{42},quality [testenv] -passenv = +passenv = CI TRAVIS TRAVIS_* @@ -11,16 +11,16 @@ commands = python -m coverage html deps = -r{toxinidir}/requirements/test.txt - django32: Django>=3.2,<4.0 - django40: Django>=4.0,<4.1 django42: Django>=4.2,<4.3 + [testenv:quality] allowlist_externals = make rm touch -deps = +deps = + wheel -r{toxinidir}/requirements/quality.txt commands = pylint djpyfs