Skip to content

Commit

Permalink
feat: add python312 support (#390)
Browse files Browse the repository at this point in the history
Co-authored-by: Usama Sadiq <[email protected]>
  • Loading branch information
edx-requirements-bot and UsamaSadiq authored Mar 6, 2024
1 parent c59603f commit 53ec88a
Show file tree
Hide file tree
Showing 13 changed files with 39 additions and 26 deletions.
7 changes: 4 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,12 @@ jobs:
run_tests:
name: tests
runs-on: ${{ matrix.os }}
continue-on-error: true
strategy:
matrix:
os: [ubuntu-20.04]
python-version: ['3.8']
toxenv: [docs, quality, django32, django42]
python-version: ['3.8', '3.12']
toxenv: [docs, quality, django42]

steps:
- uses: actions/checkout@v4
Expand All @@ -37,7 +38,7 @@ jobs:
run: tox

- name: Run coverage
if: matrix.python-version == '3.8' && matrix.toxenv == 'django42'
if: matrix.python-version == '3.12' && matrix.toxenv == 'django42'
uses: codecov/codecov-action@v3
with:
flags: unittests
Expand Down
10 changes: 10 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,16 @@ Change Log

.. There should always be an "Unreleased" section for changes pending release.
[5.11.0] - 2024-03-06
---------------------
Added
~~~~~
* Added support for ``Python 3.12``

Removed
~~~~~~~
* Dropped support for ``Django 3.2``

[5.10.1] - 2024-01-17
---------------------

Expand Down
2 changes: 1 addition & 1 deletion edx_django_utils/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
EdX utilities for Django Application development..
"""

__version__ = "5.10.1"
__version__ = "5.11.0"

default_app_config = (
"edx_django_utils.apps.EdxDjangoUtilsConfig"
Expand Down
6 changes: 4 additions & 2 deletions requirements/base.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,10 @@
#
asgiref==3.7.2
# via django
backports-zoneinfo==0.2.1
# via django
backports-zoneinfo==0.2.1 ; python_version < "3.9"
# via
# -c requirements/constraints.txt
# django
cffi==1.16.0
# via pynacl
click==8.1.7
Expand Down
3 changes: 3 additions & 0 deletions requirements/constraints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,6 @@ sphinx==4.2.0

# version 1.0.0 requires docutils >0.19 but [email protected] needs docutils<0.18
doc8<1.0.0

# Needed for Django 4.2 + Python 3.12 compatibility
backports.zoneinfo; python_version<"3.9"
5 changes: 3 additions & 2 deletions requirements/dev.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,9 @@ astroid==3.1.0
# -r requirements/quality.txt
# pylint
# pylint-celery
backports-zoneinfo==0.2.1
backports-zoneinfo==0.2.1 ; python_version < "3.9"
# via
# -c requirements/constraints.txt
# -r requirements/quality.txt
# django
build==1.1.1
Expand Down Expand Up @@ -155,7 +156,7 @@ pbr==6.0.0
# via
# -r requirements/quality.txt
# stevedore
pip-tools==7.4.0
pip-tools==7.4.1
# via -r requirements/pip-tools.txt
platformdirs==4.2.0
# via
Expand Down
2 changes: 1 addition & 1 deletion requirements/doc.in
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ readme_renderer # Validates README.rst for usage on PyPI
Sphinx # Documentation builder
twine
factory-boy
pytest #Needed?
pytest #Needed?
12 changes: 2 additions & 10 deletions requirements/doc.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,9 @@ babel==2.14.0
# via
# pydata-sphinx-theme
# sphinx
backports-zoneinfo==0.2.1
backports-zoneinfo==0.2.1 ; python_version < "3.9"
# via
# -c requirements/constraints.txt
# -r requirements/test.txt
# django
beautifulsoup4==4.12.3
Expand All @@ -27,7 +28,6 @@ certifi==2024.2.2
cffi==1.16.0
# via
# -r requirements/test.txt
# cryptography
# pynacl
charset-normalizer==3.3.2
# via requests
Expand All @@ -37,8 +37,6 @@ coverage[toml]==7.4.3
# via
# -r requirements/test.txt
# pytest-cov
cryptography==42.0.5
# via secretstorage
ddt==1.7.2
# via -r requirements/test.txt
django==4.2.11
Expand Down Expand Up @@ -90,10 +88,6 @@ iniconfig==2.0.0
# pytest
jaraco-classes==3.3.1
# via keyring
jeepney==0.8.0
# via
# keyring
# secretstorage
jinja2==3.1.3
# via sphinx
keyring==24.3.1
Expand Down Expand Up @@ -179,8 +173,6 @@ rfc3986==2.0.0
# via twine
rich==13.7.1
# via twine
secretstorage==3.3.3
# via keyring
six==1.16.0
# via
# -r requirements/test.txt
Expand Down
2 changes: 1 addition & 1 deletion requirements/pip-tools.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ importlib-metadata==7.0.1
# via build
packaging==23.2
# via build
pip-tools==7.4.0
pip-tools==7.4.1
# via -r requirements/pip-tools.in
pyproject-hooks==1.0.0
# via
Expand Down
3 changes: 2 additions & 1 deletion requirements/quality.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,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
cffi==1.16.0
Expand Down
3 changes: 2 additions & 1 deletion requirements/test.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,9 @@ asgiref==3.7.2
# via
# -r requirements/base.txt
# django
backports-zoneinfo==0.2.1
backports-zoneinfo==0.2.1 ; python_version < "3.9"
# via
# -c requirements/constraints.txt
# -r requirements/base.txt
# django
cffi==1.16.0
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -127,12 +127,12 @@ def is_requirement(line):
classifiers=[
'Development Status :: 3 - Alpha',
'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.8',
'Programming Language :: Python :: 3.12',
],
)
8 changes: 5 additions & 3 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[tox]
envlist = py38-django{32, 42}
envlist = py{38, 312}-django{42}, docs, quality

[doc8]
ignore = D000, D001
Expand Down Expand Up @@ -37,7 +37,7 @@ norecursedirs = .* docs requirements

[testenv]
deps =
django32: Django>=3.2,<4.0
setuptools
django42: Django>=4.2,<4.3
-r{toxinidir}/requirements/test.txt
commands =
Expand All @@ -51,6 +51,8 @@ allowlist_externals =
make
rm
deps =
setuptools
wheel
-r{toxinidir}/requirements/doc.txt
commands =
doc8 --ignore-path docs/_build README.rst docs
Expand All @@ -70,6 +72,7 @@ allowlist_externals =
rm
touch
deps =
setuptools
-r{toxinidir}/requirements/quality.txt
commands =
touch tests/__init__.py
Expand All @@ -87,4 +90,3 @@ deps =
-r{toxinidir}/requirements/quality.txt
commands =
isort tests test_utils edx_django_utils manage.py setup.py test_settings.py

0 comments on commit 53ec88a

Please sign in to comment.