Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

edx-ace | Drop support for python 3.8 #325

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -15,7 +15,7 @@ jobs:
fail-fast: false
matrix:
os: [ubuntu-latest]
python-version: ['3.8', '3.12']
python-version: ['3.11', '3.12']
toxenv: [quality, docs, django42]

steps:
2 changes: 1 addition & 1 deletion .github/workflows/pypi-publish.yml
Original file line number Diff line number Diff line change
@@ -15,7 +15,7 @@ jobs:
- name: setup python
uses: actions/setup-python@v2
with:
python-version: 3.8
python-version: 3.12

- name: Install Dependencies
run: pip install setuptools wheel
6 changes: 6 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -14,6 +14,12 @@ Change Log
Unreleased
~~~~~~~~~~

[2.0.0] - 2025-01-10
~~~~~~~~~~~~~~~~~~~~
* Added support for ``Python 3.11``
* Removed support for ``Python 3.8``


[1.8.0] - 2024-03-06
~~~~~~~~~~~~~~~~~~~~
* Added support for ``Python 3.12``
2 changes: 1 addition & 1 deletion edx_ace/__init__.py
Original file line number Diff line number Diff line change
@@ -13,7 +13,7 @@
from .recipient import Recipient
from .recipient_resolver import RecipientResolver

__version__ = '1.11.3'
__version__ = '2.0.0'


__all__ = [
22 changes: 9 additions & 13 deletions requirements/ci.txt
Original file line number Diff line number Diff line change
@@ -1,38 +1,34 @@
#
# This file is autogenerated by pip-compile with Python 3.8
# This file is autogenerated by pip-compile with Python 3.11
# by the following command:
#
# make upgrade
#
cachetools==5.3.3
cachetools==5.5.0
# via tox
chardet==5.2.0
# via tox
colorama==0.4.6
# via tox
distlib==0.3.8
distlib==0.3.9
# via virtualenv
filelock==3.15.4
filelock==3.16.1
# via
# tox
# virtualenv
packaging==24.1
packaging==24.2
# via
# pyproject-api
# tox
platformdirs==4.2.2
platformdirs==4.3.6
# via
# tox
# virtualenv
pluggy==1.5.0
# via tox
pyproject-api==1.7.1
pyproject-api==1.8.0
# via tox
tomli==2.0.1
# via
# pyproject-api
# tox
tox==4.15.1
tox==4.23.2
# via -r requirements/ci.in
virtualenv==20.26.3
virtualenv==20.28.1
# via tox
187 changes: 81 additions & 106 deletions requirements/dev.txt

Large diffs are not rendered by default.

163 changes: 72 additions & 91 deletions requirements/doc.txt
Original file line number Diff line number Diff line change
@@ -1,47 +1,42 @@
#
# This file is autogenerated by pip-compile with Python 3.8
# This file is autogenerated by pip-compile with Python 3.11
# by the following command:
#
# make upgrade
#
accessible-pygments==0.0.4
accessible-pygments==0.0.5
# via pydata-sphinx-theme
alabaster==0.7.13
alabaster==1.0.0
# via sphinx
asgiref==3.8.1
# via django
attrs==23.2.0
attrs==24.3.0
# via -r requirements/base.in
babel==2.15.0
babel==2.16.0
# via
# pydata-sphinx-theme
# sphinx
backports-tarfile==1.2.0
# via jaraco-context
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
cachecontrol==0.14.0
cachecontrol==0.14.2
# via firebase-admin
cachetools==5.3.3
cachetools==5.5.0
# via google-auth
certifi==2024.6.2
certifi==2024.12.14
# via requests
cffi==1.16.0
cffi==1.17.1
# via
# cryptography
# pynacl
charset-normalizer==3.3.2
charset-normalizer==3.4.1
# via requests
click==8.1.7
click==8.1.8
# via edx-django-utils
cryptography==42.0.8
cryptography==44.0.0
# via pyjwt
django==4.2.13
django==4.2.17
# via
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
# -r requirements/base.in
@@ -53,31 +48,31 @@ django-crum==0.7.9
# via edx-django-utils
django-push-notifications==3.1.0
# via -r requirements/base.in
django-waffle==4.1.0
django-waffle==4.2.0
# via edx-django-utils
doc8==1.1.1
doc8==1.1.2
# via -r requirements/doc.in
docutils==0.19
docutils==0.21.2
# via
# doc8
# pydata-sphinx-theme
# readme-renderer
# restructuredtext-lint
# sphinx
edx-django-utils==5.14.2
edx-django-utils==7.1.0
# via -r requirements/base.in
firebase-admin==6.5.0
firebase-admin==6.6.0
# via -r requirements/base.in
google-api-core[grpc]==2.19.1
google-api-core[grpc]==2.24.0
# via
# firebase-admin
# google-api-python-client
# google-cloud-core
# google-cloud-firestore
# google-cloud-storage
google-api-python-client==2.135.0
google-api-python-client==2.158.0
# via firebase-admin
google-auth==2.30.0
google-auth==2.37.0
# via
# google-api-core
# google-api-python-client
@@ -91,118 +86,110 @@ google-cloud-core==2.4.1
# via
# google-cloud-firestore
# google-cloud-storage
google-cloud-firestore==2.16.1
google-cloud-firestore==2.19.0
# via firebase-admin
google-cloud-storage==2.17.0
google-cloud-storage==2.19.0
# via firebase-admin
google-crc32c==1.5.0
google-crc32c==1.6.0
# via
# google-cloud-storage
# google-resumable-media
google-resumable-media==2.7.1
google-resumable-media==2.7.2
# via google-cloud-storage
googleapis-common-protos==1.63.2
googleapis-common-protos==1.66.0
# via
# google-api-core
# grpcio-status
grpcio==1.64.1
grpcio==1.69.0
# via
# google-api-core
# grpcio-status
grpcio-status==1.62.2
grpcio-status==1.69.0
# via google-api-core
httplib2==0.22.0
# via
# google-api-python-client
# google-auth-httplib2
idna==3.7
idna==3.10
# via requests
imagesize==1.4.1
# via sphinx
importlib-metadata==6.11.0
# via
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
# keyring
# sphinx
# twine
importlib-resources==6.4.0
importlib-metadata==8.5.0
# via keyring
jaraco-classes==3.4.0
# via keyring
jaraco-context==5.3.0
jaraco-context==6.0.1
# via keyring
jaraco-functools==4.0.1
jaraco-functools==4.1.0
# via keyring
jinja2==3.1.4
jinja2==3.1.5
# via sphinx
keyring==25.2.1
keyring==25.6.0
# via twine
markdown-it-py==3.0.0
# via rich
markupsafe==2.1.5
markupsafe==3.0.2
# via jinja2
mdurl==0.1.2
# via markdown-it-py
more-itertools==10.3.0
more-itertools==10.5.0
# via
# jaraco-classes
# jaraco-functools
msgpack==1.0.8
msgpack==1.1.0
# via cachecontrol
newrelic==9.11.0
newrelic==10.4.0
# via edx-django-utils
nh3==0.2.17
nh3==0.2.20
# via readme-renderer
packaging==24.1
packaging==24.2
# via
# pydata-sphinx-theme
# sphinx
pbr==6.0.0
# twine
pbr==6.1.0
# via stevedore
pkginfo==1.10.0
pkginfo==1.12.0
# via twine
proto-plus==1.24.0
proto-plus==1.25.0
# via
# google-api-core
# google-cloud-firestore
protobuf==4.25.3
protobuf==5.29.3
# via
# google-api-core
# google-cloud-firestore
# googleapis-common-protos
# grpcio-status
# proto-plus
psutil==6.0.0
psutil==6.1.1
# via edx-django-utils
pyasn1==0.6.0
pyasn1==0.6.1
# via
# pyasn1-modules
# rsa
pyasn1-modules==0.4.0
pyasn1-modules==0.4.1
# via google-auth
pycparser==2.22
# via cffi
pydata-sphinx-theme==0.14.4
pydata-sphinx-theme==0.16.1
# via sphinx-book-theme
pygments==2.18.0
pygments==2.19.1
# via
# accessible-pygments
# doc8
# pydata-sphinx-theme
# readme-renderer
# rich
# sphinx
pyjwt[crypto]==2.8.0
pyjwt[crypto]==2.10.1
# via firebase-admin
pynacl==1.5.0
# via edx-django-utils
pyparsing==3.1.2
pyparsing==3.2.1
# via httplib2
python-dateutil==2.9.0.post0
# via -r requirements/base.in
pytz==2024.1
# via babel
readme-renderer==43.0
readme-renderer==44.0
# via
# -r requirements/doc.in
# twine
@@ -221,64 +208,58 @@ restructuredtext-lint==1.4.0
# via doc8
rfc3986==2.0.0
# via twine
rich==13.7.1
rich==13.9.4
# via twine
rsa==4.9
# via google-auth
sailthru-client==2.2.3
# via -r requirements/base.in
simplejson==3.19.2
simplejson==3.19.3
# via sailthru-client
six==1.16.0
six==1.17.0
# via
# -r requirements/base.in
# python-dateutil
snowballstemmer==2.2.0
# via sphinx
soupsieve==2.5
soupsieve==2.6
# via beautifulsoup4
sphinx==6.2.1
sphinx==8.1.3
# via
# -r requirements/doc.in
# pydata-sphinx-theme
# sphinx-book-theme
sphinx-book-theme==1.0.1
sphinx-book-theme==1.1.3
# via -r requirements/doc.in
sphinxcontrib-applehelp==1.0.4
sphinxcontrib-applehelp==2.0.0
# via sphinx
sphinxcontrib-devhelp==1.0.2
sphinxcontrib-devhelp==2.0.0
# via sphinx
sphinxcontrib-htmlhelp==2.0.1
sphinxcontrib-htmlhelp==2.1.0
# via sphinx
sphinxcontrib-jsmath==1.0.1
# via sphinx
sphinxcontrib-qthelp==1.0.3
sphinxcontrib-qthelp==2.0.0
# via sphinx
sphinxcontrib-serializinghtml==1.1.5
sphinxcontrib-serializinghtml==2.0.0
# via sphinx
sqlparse==0.5.0
sqlparse==0.5.3
# via django
stevedore==5.2.0
stevedore==5.4.0
# via
# -r requirements/base.in
# doc8
# edx-django-utils
tomli==2.0.1
# via doc8
twine==5.1.1
twine==6.0.1
# via -r requirements/doc.in
typing-extensions==4.12.2
# via
# asgiref
# pydata-sphinx-theme
# rich
# via pydata-sphinx-theme
uritemplate==4.1.1
# via google-api-python-client
urllib3==2.2.2
urllib3==2.2.3
# via
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
# requests
# twine
zipp==3.19.2
# via
# importlib-metadata
# importlib-resources
zipp==3.21.0
# via importlib-metadata
22 changes: 6 additions & 16 deletions requirements/pip-tools.txt
Original file line number Diff line number Diff line change
@@ -1,33 +1,23 @@
#
# This file is autogenerated by pip-compile with Python 3.8
# This file is autogenerated by pip-compile with Python 3.11
# by the following command:
#
# make upgrade
#
build==1.2.1
build==1.2.2.post1
# via pip-tools
click==8.1.7
click==8.1.8
# via pip-tools
importlib-metadata==6.11.0
# via
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
# build
packaging==24.1
packaging==24.2
# via build
pip-tools==7.4.1
# via -r requirements/pip-tools.in
pyproject-hooks==1.1.0
# via
# build
# pip-tools
tomli==2.0.1
pyproject-hooks==1.2.0
# via
# build
# pip-tools
wheel==0.43.0
wheel==0.45.1
# via pip-tools
zipp==3.19.2
# via importlib-metadata

# The following packages are considered to be unsafe in a requirements file:
# pip
12 changes: 7 additions & 5 deletions requirements/pip.txt
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
#
# This file is autogenerated by pip-compile with Python 3.8
# This file is autogenerated by pip-compile with Python 3.11
# by the following command:
#
# make upgrade
#
wheel==0.43.0
wheel==0.45.1
# via -r requirements/pip.in

# The following packages are considered to be unsafe in a requirements file:
pip==24.1.1
# via -r requirements/pip.in
setuptools==70.1.1
pip==24.2
# via
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
# -r requirements/pip.in
setuptools==75.8.0
# via -r requirements/pip.in
44 changes: 17 additions & 27 deletions requirements/quality.txt
Original file line number Diff line number Diff line change
@@ -1,79 +1,69 @@
#
# This file is autogenerated by pip-compile with Python 3.8
# This file is autogenerated by pip-compile with Python 3.11
# by the following command:
#
# make upgrade
#
astroid==3.2.2
astroid==3.3.8
# 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
click==8.1.8
# via
# click-log
# code-annotations
# edx-lint
click-log==0.4.0
# via edx-lint
code-annotations==1.8.0
code-annotations==2.1.0
# via edx-lint
dill==0.3.8
dill==0.3.9
# via pylint
edx-lint==5.3.6
edx-lint==5.4.1
# via -r requirements/quality.in
isort==5.13.2
# via
# -r requirements/quality.in
# pylint
jinja2==3.1.4
jinja2==3.1.5
# via code-annotations
markupsafe==2.1.5
markupsafe==3.0.2
# via jinja2
mccabe==0.7.0
# via pylint
pbr==6.0.0
pbr==6.1.0
# via stevedore
platformdirs==4.2.2
platformdirs==4.3.6
# via pylint
pycodestyle==2.12.0
pycodestyle==2.12.1
# via -r requirements/quality.in
pydocstyle==6.3.0
# via -r requirements/quality.in
pylint==3.2.5
pylint==3.3.3
# via
# edx-lint
# pylint-celery
# pylint-django
# pylint-plugin-utils
pylint-celery==0.3
# via edx-lint
pylint-django==2.5.5
pylint-django==2.6.1
# via edx-lint
pylint-plugin-utils==0.8.2
# via
# pylint-celery
# pylint-django
python-slugify==8.0.4
# via code-annotations
pyyaml==6.0.1
pyyaml==6.0.2
# via code-annotations
six==1.16.0
six==1.17.0
# via edx-lint
snowballstemmer==2.2.0
# via pydocstyle
stevedore==5.2.0
stevedore==5.4.0
# via code-annotations
text-unidecode==1.3
# via python-slugify
tomli==2.0.1
# via pylint
tomlkit==0.12.5
tomlkit==0.13.2
# via pylint
typing-extensions==4.12.2
# via
# astroid
# pylint
129 changes: 55 additions & 74 deletions requirements/test.txt
Original file line number Diff line number Diff line change
@@ -1,37 +1,32 @@
#
# This file is autogenerated by pip-compile with Python 3.8
# This file is autogenerated by pip-compile with Python 3.11
# by the following command:
#
# make upgrade
#
asgiref==3.8.1
# via django
attrs==23.2.0
attrs==24.3.0
# via
# -r requirements/base.in
# hypothesis
backports-zoneinfo==0.2.1 ; python_version < "3.9"
# via
# -c requirements/constraints.txt
# -r requirements/test.in
# django
cachecontrol==0.14.0
cachecontrol==0.14.2
# via firebase-admin
cachetools==5.3.3
cachetools==5.5.0
# via google-auth
certifi==2024.6.2
certifi==2024.12.14
# via requests
cffi==1.16.0
cffi==1.17.1
# via
# cryptography
# pynacl
charset-normalizer==3.3.2
charset-normalizer==3.4.1
# via requests
click==8.1.7
click==8.1.8
# via edx-django-utils
coverage[toml]==7.5.4
coverage[toml]==7.6.10
# via pytest-cov
cryptography==42.0.8
cryptography==44.0.0
# via pyjwt
ddt==1.7.2
# via -r requirements/test.in
@@ -46,26 +41,22 @@ django-crum==0.7.9
# via edx-django-utils
django-push-notifications==3.1.0
# via -r requirements/base.in
django-waffle==4.1.0
django-waffle==4.2.0
# via edx-django-utils
edx-django-utils==5.14.2
edx-django-utils==7.1.0
# via -r requirements/base.in
exceptiongroup==1.2.1
# via
# hypothesis
# pytest
firebase-admin==6.5.0
firebase-admin==6.6.0
# via -r requirements/base.in
google-api-core[grpc]==2.19.1
google-api-core[grpc]==2.24.0
# via
# firebase-admin
# google-api-python-client
# google-cloud-core
# google-cloud-firestore
# google-cloud-storage
google-api-python-client==2.135.0
google-api-python-client==2.158.0
# via firebase-admin
google-auth==2.30.0
google-auth==2.37.0
# via
# google-api-core
# google-api-python-client
@@ -79,108 +70,104 @@ google-cloud-core==2.4.1
# via
# google-cloud-firestore
# google-cloud-storage
google-cloud-firestore==2.16.1
google-cloud-firestore==2.19.0
# via firebase-admin
google-cloud-storage==2.17.0
google-cloud-storage==2.19.0
# via firebase-admin
google-crc32c==1.5.0
google-crc32c==1.6.0
# via
# google-cloud-storage
# google-resumable-media
google-resumable-media==2.7.1
google-resumable-media==2.7.2
# via google-cloud-storage
googleapis-common-protos==1.63.2
googleapis-common-protos==1.66.0
# via
# google-api-core
# grpcio-status
grpcio==1.64.1
grpcio==1.69.0
# via
# google-api-core
# grpcio-status
grpcio-status==1.62.2
grpcio-status==1.69.0
# via google-api-core
httplib2==0.22.0
# via
# google-api-python-client
# google-auth-httplib2
hypothesis[pytz]==6.104.2
hypothesis[pytz]==6.123.13
# via
# -r requirements/test.in
# hypothesis-pytest
hypothesis-pytest==0.19.0
# via -r requirements/test.in
idna==3.7
idna==3.10
# via requests
importlib-metadata==6.11.0
# via
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
# pytest-randomly
iniconfig==2.0.0
# via pytest
jedi==0.19.1
jedi==0.19.2
# via pudb
mock==5.1.0
# via -r requirements/test.in
msgpack==1.0.8
msgpack==1.1.0
# via cachecontrol
newrelic==9.11.0
newrelic==10.4.0
# via edx-django-utils
packaging==24.1
packaging==24.2
# via
# pudb
# pytest
parso==0.8.4
# via jedi
pbr==6.0.0
pbr==6.1.0
# via stevedore
pluggy==1.5.0
# via pytest
proto-plus==1.24.0
proto-plus==1.25.0
# via
# google-api-core
# google-cloud-firestore
protobuf==4.25.3
protobuf==5.29.3
# via
# google-api-core
# google-cloud-firestore
# googleapis-common-protos
# grpcio-status
# proto-plus
psutil==6.0.0
psutil==6.1.1
# via edx-django-utils
pudb==2024.1
pudb==2024.1.3
# via -r requirements/test.in
pyasn1==0.6.0
pyasn1==0.6.1
# via
# pyasn1-modules
# rsa
pyasn1-modules==0.4.0
pyasn1-modules==0.4.1
# via google-auth
pycparser==2.22
# via cffi
pygments==2.18.0
pygments==2.19.1
# via pudb
pyjwt[crypto]==2.8.0
pyjwt[crypto]==2.10.1
# via firebase-admin
pynacl==1.5.0
# via edx-django-utils
pyparsing==3.1.2
pyparsing==3.2.1
# via httplib2
pytest==8.2.2
pytest==8.3.4
# via
# hypothesis-pytest
# pytest-cov
# pytest-django
# pytest-randomly
pytest-cov==5.0.0
pytest-cov==6.0.0
# via -r requirements/test.in
pytest-django==4.8.0
pytest-django==4.9.0
# via -r requirements/test.in
pytest-randomly==3.15.0
pytest-randomly==3.16.0
# via -r requirements/test.in
python-dateutil==2.9.0.post0
# via -r requirements/base.in
pytz==2024.1
pytz==2024.2
# via hypothesis
requests==2.32.3
# via
@@ -192,39 +179,33 @@ rsa==4.9
# via google-auth
sailthru-client==2.2.3
# via -r requirements/base.in
simplejson==3.19.2
simplejson==3.19.3
# via sailthru-client
six==1.16.0
six==1.17.0
# via
# -r requirements/base.in
# python-dateutil
sortedcontainers==2.4.0
# via hypothesis
sqlparse==0.5.0
sqlparse==0.5.3
# via django
stevedore==5.2.0
stevedore==5.4.0
# via
# -r requirements/base.in
# edx-django-utils
tomli==2.0.1
# via
# coverage
# pytest
typing-extensions==4.12.2
# via
# asgiref
# urwid
# via urwid
uritemplate==4.1.1
# via google-api-python-client
urllib3==2.2.2
# via requests
urwid==2.6.14
urllib3==2.2.3
# via
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
# requests
urwid==2.6.16
# via
# pudb
# urwid-readline
urwid-readline==0.14
urwid-readline==0.15.1
# via pudb
wcwidth==0.2.13
# via urwid
zipp==3.19.2
# via importlib-metadata
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
@@ -126,7 +126,7 @@ def is_requirement(line):
'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.11',
'Programming Language :: Python :: 3.12',
],
entry_points={