Skip to content

Commit

Permalink
feat: add python312 support (#261)
Browse files Browse the repository at this point in the history
  • Loading branch information
edx-requirements-bot authored Mar 7, 2024
1 parent c3613a3 commit 3c66e8e
Show file tree
Hide file tree
Showing 16 changed files with 66 additions and 61 deletions.
10 changes: 5 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,13 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-20.04]
python-version: ['3.8']
toxenv: [quality, docs, django32, django42]
python-version: ['3.8', '3.12']
toxenv: [quality, docs, django42]

steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: setup python
uses: actions/setup-python@v2
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

Expand All @@ -34,7 +34,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
6 changes: 6 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,12 @@ Change Log
Unreleased
~~~~~~~~~~

[1.8.0] - 2024-03-06
~~~~~~~~~~~~~~~~~~~~
* Added support for ``Python 3.12``
* Dropped support for ``Django 3.2``


[1.7.0] - 2023-07-21
~~~~~~~~~~~~~~~~~~~~

Expand Down
2 changes: 1 addition & 1 deletion edx_ace/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
from .recipient import Recipient
from .recipient_resolver import RecipientResolver

__version__ = '1.7.0'
__version__ = '1.8.0'


__all__ = [
Expand Down
2 changes: 1 addition & 1 deletion requirements/ci.txt
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ tomli==2.0.1
# via
# pyproject-api
# tox
tox==4.13.0
tox==4.14.0
# via -r requirements/ci.in
virtualenv==20.25.1
# via tox
2 changes: 2 additions & 0 deletions requirements/constraints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,5 @@

# Common constraints for edx repos
-c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt

backports.zoneinfo==0.2.1; python_version<'3.9'
3 changes: 2 additions & 1 deletion requirements/dev.in
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,5 @@ edx-i18n-tools # For i18n_tool dummy
pip-tools # Requirements file management
tox # virtualenv management for tests
twine # Utility for PyPI package uploads
wheel # For generation of wheels for PyPI
wheel # For generation of wheels for PyPI
backports.zoneinfo; python_version<'3.9' # Needed for Python 3.12 compatibility
26 changes: 9 additions & 17 deletions requirements/dev.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,18 @@ astroid==3.1.0
# pylint-celery
attrs==23.2.0
# via -r requirements/base.in
backports-zoneinfo==0.2.1
# via django
backports-zoneinfo==0.2.1 ; python_version < "3.9"
# via
# -c requirements/constraints.txt
# -r requirements/dev.in
# -r requirements/quality.in
# django
build==1.1.1
# via pip-tools
cachetools==5.3.3
# via tox
certifi==2024.2.2
# via requests
cffi==1.16.0
# via cryptography
chardet==5.2.0
# via
# diff-cover
Expand All @@ -40,15 +42,13 @@ code-annotations==1.6.0
# via edx-lint
colorama==0.4.6
# via tox
cryptography==42.0.5
# via secretstorage
diff-cover==8.0.3
# via -r requirements/dev.in
dill==0.3.8
# via pylint
distlib==0.3.8
# via virtualenv
django==4.2.10
django==4.2.11
# via
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
# -r requirements/base.in
Expand Down Expand Up @@ -80,10 +80,6 @@ isort==5.13.2
# pylint
jaraco-classes==3.3.1
# via keyring
jeepney==0.8.0
# via
# keyring
# secretstorage
jinja2==3.1.3
# via
# code-annotations
Expand Down Expand Up @@ -113,7 +109,7 @@ path==16.10.0
# via edx-i18n-tools
pbr==6.0.0
# via stevedore
pip-tools==7.4.0
pip-tools==7.4.1
# via -r requirements/dev.in
pkginfo==1.10.0
# via twine
Expand All @@ -130,8 +126,6 @@ polib==1.2.0
# via edx-i18n-tools
pycodestyle==2.11.1
# via -r requirements/quality.in
pycparser==2.21
# via cffi
pydocstyle==6.3.0
# via -r requirements/quality.in
pygments==2.17.2
Expand Down Expand Up @@ -182,8 +176,6 @@ rich==13.7.1
# via twine
sailthru-client==2.2.3
# via -r requirements/base.in
secretstorage==3.3.3
# via keyring
simplejson==3.19.2
# via sailthru-client
six==1.16.0
Expand Down Expand Up @@ -211,7 +203,7 @@ tomli==2.0.1
# tox
tomlkit==0.12.4
# via pylint
tox==4.13.0
tox==4.14.0
# via -r requirements/dev.in
twine==5.0.0
# via -r requirements/dev.in
Expand Down
1 change: 1 addition & 0 deletions requirements/doc.in
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@ sphinx-book-theme # Common theme for all Open edX projects
readme_renderer # Validates README.rst for usage on PyPI
Sphinx # Documentation builder
twine
backports.zoneinfo; python_version<'3.9' # Needed for Python 3.12 compatibility
21 changes: 6 additions & 15 deletions requirements/doc.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,19 +16,18 @@ babel==2.14.0
# via
# pydata-sphinx-theme
# sphinx
backports-zoneinfo==0.2.1
# via django
backports-zoneinfo==0.2.1 ; python_version < "3.9"
# via
# -c requirements/constraints.txt
# -r requirements/doc.in
# django
beautifulsoup4==4.12.3
# via pydata-sphinx-theme
certifi==2024.2.2
# via requests
cffi==1.16.0
# via cryptography
charset-normalizer==3.3.2
# via requests
cryptography==42.0.5
# via secretstorage
django==4.2.10
django==4.2.11
# via
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
# -r requirements/base.in
Expand All @@ -54,10 +53,6 @@ importlib-resources==6.1.2
# via keyring
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 All @@ -80,8 +75,6 @@ pbr==6.0.0
# via stevedore
pkginfo==1.10.0
# via twine
pycparser==2.21
# via cffi
pydata-sphinx-theme==0.14.4
# via sphinx-book-theme
pygments==2.17.2
Expand Down Expand Up @@ -116,8 +109,6 @@ rich==13.7.1
# via twine
sailthru-client==2.2.3
# via -r requirements/base.in
secretstorage==3.3.3
# via keyring
simplejson==3.19.2
# via sailthru-client
six==1.16.0
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
1 change: 1 addition & 0 deletions requirements/quality.in
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ edx-lint # edX pylint rules and plugins
isort # to standardize order of imports
pycodestyle # PEP 8 compliance validation
pydocstyle # PEP 257 compliance validation
backports.zoneinfo; python_version<'3.9' # Needed for Python 3.12 compatibility
4 changes: 4 additions & 0 deletions requirements/quality.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ astroid==3.1.0
# via
# pylint
# pylint-celery
backports-zoneinfo==0.2.1 ; python_version < "3.9"
# via
# -c requirements/constraints.txt
# -r requirements/quality.in
click==8.1.7
# via
# click-log
Expand Down
1 change: 1 addition & 0 deletions requirements/test.in
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,4 @@ mock
pudb # For easier test debugging
hypothesis[pytz] # For property-based testing
hypothesis-pytest
backports.zoneinfo; python_version<'3.9' # Needed for Python 3.12 compatibility
11 changes: 7 additions & 4 deletions requirements/test.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,11 @@ attrs==23.2.0
# via
# -r requirements/base.in
# hypothesis
backports-zoneinfo==0.2.1
# via django
backports-zoneinfo==0.2.1 ; python_version < "3.9"
# via
# -c requirements/constraints.txt
# -r requirements/test.in
# django
certifi==2024.2.2
# via requests
charset-normalizer==3.3.2
Expand Down Expand Up @@ -57,7 +60,7 @@ pudb==2024.1
# via -r requirements/test.in
pygments==2.17.2
# via pudb
pytest==8.1.0
pytest==8.0.2
# via
# hypothesis-pytest
# pytest-cov
Expand Down Expand Up @@ -99,7 +102,7 @@ typing-extensions==4.10.0
# urwid
urllib3==2.2.1
# via requests
urwid==2.6.7
urwid==2.6.8
# via
# pudb
# urwid-readline
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -120,13 +120,13 @@ 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 :: GNU Affero General Public License v3 or later (AGPLv3+)',
'Natural Language :: English',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.12',
],
entry_points={
'openedx.ace.channel': [
Expand Down
33 changes: 18 additions & 15 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -1,47 +1,50 @@
[tox]
envlist = py38-django{32, 42}, quality
envlist = py{38, 312}-django{42}, docs, quality

[testenv]
deps =
django32: Django>=3.2,<4.0
deps =
setuptools
django42: Django>=4.2,<4.3
quality: Django>=4.2,<4.3
-r{toxinidir}/requirements/test.txt
-r{toxinidir}/requirements/quality.txt
commands =
commands =
python -Wd -m pytest {posargs}

[testenv:docs]
setenv =
setenv =
DJANGO_SETTINGS_MODULE = test_settings
PYTHONPATH = {toxinidir}
allowlist_externals =
allowlist_externals =
make
rm
deps =
deps =
setuptools
wheel
-r{toxinidir}/requirements/test.txt
-r{toxinidir}/requirements/doc.txt
commands =
commands =
doc8 --ignore-path docs/_build README.rst docs
make -C docs clean
make -C docs html
python setup.py sdist bdist_wheel
twine check dist/*

[testenv:quality]
setenv =
setenv =
DJANGO_SETTINGS_MODULE=test_settings
PYTHONPATH = {toxinidir}/:{toxinidir}/edx_ace
basepython = python3.8
allowlist_externals =
deps =
setuptools
quality: Django>=4.2,<4.3
-r{toxinidir}/requirements/test.txt
-r{toxinidir}/requirements/quality.txt
allowlist_externals =
make
rm
touch
commands =
commands =
touch edx_ace/tests/__init__.py
pylint edx_ace
rm edx_ace/tests/__init__.py
pycodestyle edx_ace
isort --check-only --diff edx_ace manage.py setup.py test_settings.py
make selfcheck

0 comments on commit 3c66e8e

Please sign in to comment.