diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 57443ee..b3e858a 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.11' + 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/dev.txt b/requirements/dev.txt index c246660..52a42eb 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -8,11 +8,13 @@ appdirs==1.4.4 # via fs asgiref==3.7.2 # via django -backports-zoneinfo==0.2.1 - # via django -boto3==1.34.54 +backports-zoneinfo==0.2.1 ; python_version < "3.9" + # via + # -c requirements/constraints.txt + # django +boto3==1.34.61 # via fs-s3fs -botocore==1.34.54 +botocore==1.34.61 # via # boto3 # s3transfer @@ -28,7 +30,7 @@ colorama==0.4.6 # via tox distlib==0.3.8 # via virtualenv -django==4.2.10 +django==4.2.11 # via # -c requirements/common_constraints.txt # -r requirements/base.in @@ -42,18 +44,20 @@ fs==2.4.16 # fs-s3fs fs-s3fs==1.1.1 # via -r requirements/base.in -importlib-metadata==7.0.1 - # via build +importlib-metadata==6.11.0 + # via + # -c requirements/common_constraints.txt + # build jmespath==1.0.1 # via # boto3 # botocore -packaging==23.2 +packaging==24.0 # via # build # pyproject-api # tox -pip-tools==7.4.0 +pip-tools==7.4.1 # via -r requirements/dev.in platformdirs==4.2.0 # via @@ -85,7 +89,7 @@ tomli==2.0.1 # pyproject-api # pyproject-hooks # tox -tox==4.13.0 +tox==4.14.1 # via -r requirements/dev.in typing-extensions==4.10.0 # via asgiref @@ -93,9 +97,9 @@ urllib3==1.26.18 # via botocore virtualenv==20.25.1 # via tox -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-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..92e3e26 100644 --- a/requirements/quality.txt +++ b/requirements/quality.txt @@ -16,16 +16,17 @@ 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 +boto3==1.34.61 # via # -r requirements/test.txt # fs-s3fs # moto -botocore==1.34.54 +botocore==1.34.61 # via # -r requirements/test.txt # boto3 @@ -63,7 +64,7 @@ cryptography==42.0.5 # secretstorage dill==0.3.8 # via pylint -django==4.2.10 +django==4.2.11 # via # -c requirements/common_constraints.txt # -r requirements/test.txt @@ -85,11 +86,12 @@ idna==3.6 # via # -r requirements/test.txt # requests -importlib-metadata==7.0.1 +importlib-metadata==6.11.0 # via + # -c requirements/common_constraints.txt # keyring # twine -importlib-resources==6.1.2 +importlib-resources==6.3.0 # via keyring iniconfig==2.0.0 # via @@ -138,7 +140,7 @@ moto==4.2.14 # -r requirements/test.txt nh3==0.2.15 # via readme-renderer -packaging==23.2 +packaging==24.0 # via # -r requirements/test.txt # pytest @@ -180,7 +182,7 @@ pylint-plugin-utils==0.8.2 # pylint-django pypng==0.20220715.0 # via -r requirements/test.txt -pytest==8.1.0 +pytest==8.1.1 # via # -r requirements/test.txt # pytest-cov @@ -275,7 +277,7 @@ xmltodict==0.13.0 # via # -r requirements/test.txt # moto -zipp==3.17.0 +zipp==3.18.0 # via # importlib-metadata # importlib-resources diff --git a/requirements/test.txt b/requirements/test.txt index 325f875..404f082 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -8,13 +8,15 @@ appdirs==1.4.4 # via fs asgiref==3.7.2 # via django -backports-zoneinfo==0.2.1 - # via django -boto3==1.34.54 +backports-zoneinfo==0.2.1 ; python_version < "3.9" + # via + # -c requirements/constraints.txt + # django +boto3==1.34.61 # via # fs-s3fs # moto -botocore==1.34.54 +botocore==1.34.61 # via # boto3 # moto @@ -60,7 +62,7 @@ moto==4.2.14 # via # -c requirements/constraints.txt # -r requirements/test.in -packaging==23.2 +packaging==24.0 # via pytest pluggy==1.4.0 # via pytest @@ -68,7 +70,7 @@ pycparser==2.21 # via cffi pypng==0.20220715.0 # via -r requirements/test.in -pytest==8.1.0 +pytest==8.1.1 # via # -r requirements/test.in # pytest-cov diff --git a/tox.ini b/tox.ini index bf9ec70..e090033 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.11}-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