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

feat: Adding python 3.11/3.12 support. Removed django32 support. #360

Merged
merged 7 commits into from
Apr 2, 2024
Merged
Show file tree
Hide file tree
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
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ jobs:
strategy:
matrix:
os: [ubuntu-20.04]
python-version: ['3.8']
toxenv: [django32, django40, django42, quality]
python-version: ['3.8', '3.11', '3.12']
toxenv: [django42, quality]

steps:
- uses: actions/checkout@v2
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ upgrade: $(COMMON_CONSTRAINTS_TXT)
pip-compile --upgrade -o requirements/pip-tools.txt requirements/pip-tools.in
pip install -qr requirements/pip.txt
pip install -qr requirements/pip-tools.txt
pip-compile --upgrade -o requirements/base.txt requirements/base.in
pip-compile --upgrade --allow-unsafe -o requirements/base.txt requirements/base.in
pip-compile --upgrade -o test-requirements.txt requirements/test.in
# Let tox control the Django version for tests
sed -i.tmp '/^django==/d' test-requirements.txt
Expand Down
2 changes: 1 addition & 1 deletion organizations/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
"""
edx-organizations app initialization module
"""
__version__ = '6.12.1' # pragma: no cover
__version__ = '6.13.0' # pragma: no cover
1 change: 1 addition & 0 deletions requirements/base.in
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,4 @@ djangorestframework
edx-drf-extensions
edx-opaque-keys>=0.1.2
Pillow
setuptools
65 changes: 33 additions & 32 deletions requirements/base.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,26 @@
#
# make upgrade
#
asgiref==3.7.2
asgiref==3.8.1
# via django
certifi==2023.7.22
backports-zoneinfo==0.2.1 ; python_version < "3.9"
# via
# -c requirements/constraints.txt
# django
# djangorestframework
certifi==2024.2.2
# via requests
cffi==1.15.1
cffi==1.16.0
# via
# cryptography
# pynacl
charset-normalizer==3.2.0
charset-normalizer==3.3.2
# via requests
click==8.1.6
click==8.1.7
# via edx-django-utils
cryptography==41.0.2
cryptography==42.0.5
# via pyjwt
django==3.2.20
django==4.2.11
# via
# -c requirements/common_constraints.txt
# -r requirements/base.in
Expand All @@ -31,40 +36,40 @@ django==3.2.20
# edx-drf-extensions
django-crum==0.7.9
# via edx-django-utils
django-model-utils==4.3.1
django-model-utils==4.4.0
# via -r requirements/base.in
django-simple-history==3.1.1
# via
# -c requirements/constraints.txt
# -r requirements/base.in
django-waffle==4.0.0
django-waffle==4.1.0
# via
# edx-django-utils
# edx-drf-extensions
djangorestframework==3.14.0
djangorestframework==3.15.1
# via
# -r requirements/base.in
# drf-jwt
# edx-drf-extensions
drf-jwt==1.19.2
# via edx-drf-extensions
edx-django-utils==5.6.0
edx-django-utils==5.11.0
# via edx-drf-extensions
edx-drf-extensions==8.8.0
edx-drf-extensions==10.2.0
# via -r requirements/base.in
edx-opaque-keys==2.3.0
edx-opaque-keys==2.5.1
# via
# -r requirements/base.in
# edx-drf-extensions
idna==3.4
idna==3.6
# via requests
newrelic==8.9.0
newrelic==9.7.1
# via edx-django-utils
pbr==5.11.1
pbr==6.0.0
# via stevedore
pillow==10.0.0
pillow==10.2.0
# via -r requirements/base.in
psutil==5.9.5
psutil==5.9.8
# via edx-django-utils
pycparser==2.21
# via cffi
Expand All @@ -76,27 +81,23 @@ pymongo==3.13.0
# via edx-opaque-keys
pynacl==1.5.0
# via edx-django-utils
python-dateutil==2.8.2
# via edx-drf-extensions
pytz==2023.3
# via
# django
# djangorestframework
requests==2.31.0
# via edx-drf-extensions
semantic-version==2.10.0
# via edx-drf-extensions
six==1.16.0
# via
# edx-drf-extensions
# python-dateutil
sqlparse==0.4.4
# via django
stevedore==5.1.0
stevedore==5.2.0
# via
# edx-django-utils
# edx-opaque-keys
typing-extensions==4.7.1
# via asgiref
urllib3==2.0.4
typing-extensions==4.10.0
# via
# asgiref
# edx-opaque-keys
urllib3==2.2.1
# via requests

# The following packages are considered to be unsafe in a requirements file:
setuptools==69.2.0
# via -r requirements/base.in
13 changes: 9 additions & 4 deletions requirements/common_constraints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@


# using LTS django version
Django<4.0
Django<5.0

# elasticsearch>=7.14.0 includes breaking changes in it which caused issues in discovery upgrade process.
# elastic search changelog: https://www.elastic.co/guide/en/enterprise-search/master/release-notes-7.14.0.html
Expand All @@ -22,6 +22,11 @@ elasticsearch<7.14.0
# django-simple-history>3.0.0 adds indexing and causes a lot of migrations to be affected


# tox>4.0.0 isn't yet compatible with many tox plugins, causing CI failures in almost all repos.
# Details can be found in this discussion: https://github.com/tox-dev/tox/discussions/1810
tox<4.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
6 changes: 5 additions & 1 deletion requirements/constraints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,8 @@
-c common_constraints.txt

# incremental upgrade plan.
django-simple-history<=3.1.1
django-simple-history<=3.1.1


# it is not availablein python3.9
backports.zoneinfo;python_version<"3.9"
20 changes: 14 additions & 6 deletions requirements/pip-tools.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,23 +4,31 @@
#
# make upgrade
#
build==0.10.0
build==1.1.1
# via pip-tools
click==8.1.6
click==8.1.7
# via pip-tools
packaging==23.1
importlib-metadata==6.11.0
# via
# -c requirements/common_constraints.txt
# build
packaging==24.0
# via build
pip-tools==7.1.0
pip-tools==7.4.1
# via -r requirements/pip-tools.in
pyproject-hooks==1.0.0
# via build
# via
# build
# pip-tools
tomli==2.0.1
# via
# build
# pip-tools
# pyproject-hooks
wheel==0.41.0
wheel==0.43.0
# via pip-tools
zipp==3.18.1
# via importlib-metadata

# The following packages are considered to be unsafe in a requirements file:
# pip
Expand Down
6 changes: 3 additions & 3 deletions requirements/pip.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@
#
# make upgrade
#
wheel==0.41.0
wheel==0.43.0
# via -r requirements/pip.in

# The following packages are considered to be unsafe in a requirements file:
pip==23.2.1
pip==24.0
# via -r requirements/pip.in
setuptools==68.0.0
setuptools==69.2.0
# via -r requirements/pip.in
4 changes: 2 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,15 +57,15 @@ def get_version(*file_paths):
'Development Status :: 5 - Production/Stable',
'Environment :: Web Environment',
'Framework :: Django',
'Framework :: Django :: 3.2',
'Framework :: Django :: 4.0',
'Framework :: Django :: 4.2',
'Intended Audience :: Developers',
'License :: OSI Approved :: GNU Affero General Public License v3',
'Operating System :: OS Independent',
'Programming Language :: Python',
'Programming Language :: Python :: 3',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.11',
'Programming Language :: Python :: 3.12',
],
packages=find_packages(exclude=['tests']),
install_requires=load_requirements('requirements/base.in'),
Expand Down
Loading
Loading