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: add python 3.12 support #333

Merged
merged 3 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
7 changes: 5 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,11 @@ jobs:
strategy:
matrix:
os: [ubuntu-20.04]
python-version: ['3.8']
toxenv: [quality, docs, django32-drflatest, django42-drflatest, check_keywords]
python-version:
- '3.8'
- '3.11'
- '3.12'
toxenv: [quality, docs, django42-drflatest, check_keywords, django42]
steps:
- uses: actions/checkout@v4
- name: setup python
Expand Down
6 changes: 6 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,12 @@ Change Log

.. There should always be an "Unreleased" section for changes pending release.

[2.6.0] - 2024-03-30
~~~~~~~~~~~~~~~~~~~~

* Adding python3.11 and 3.12 support.


[2.5.1] - 2023-09-22
~~~~~~~~~~~~~~~~~~~~

Expand Down
7 changes: 6 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,13 @@ extract_translations: ## extract strings to be translated, outputting .mo files

fake_translations: extract_translations dummy_translations compile_translations ## generate and compile dummy translation files

COMMON_CONSTRAINTS_TXT=requirements/common_constraints.txt
.PHONY: $(COMMON_CONSTRAINTS_TXT)
$(COMMON_CONSTRAINTS_TXT):
wget -O "$(@)" https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt || touch "$(@)"

upgrade: export CUSTOM_COMPILE_COMMAND=make upgrade
upgrade: ## update the requirements/*.txt files with the latest packages satisfying requirements/*.in
upgrade: $(COMMON_CONSTRAINTS_TXT) # update the requirements/*.txt files with the latest packages satisfying requirements/*.in
pip install -r requirements/pip-tools.txt
pip-compile --upgrade --allow-unsafe --rebuild -o requirements/pip.txt requirements/pip.in
pip-compile --no-emit-trusted-host --no-emit-index-url --rebuild --upgrade -o requirements/pip-tools.txt requirements/pip-tools.in
Expand Down
2 changes: 1 addition & 1 deletion config_models/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@
Configuration models for Django allowing config management with auditing.
"""

__version__ = '2.5.1'
__version__ = '2.6.0'
2 changes: 2 additions & 0 deletions requirements/base.in
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@
Django # Web application framework
djangorestframework>=3.6
edx-django-utils
setuptools
wheel
28 changes: 17 additions & 11 deletions requirements/base.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,20 @@
#
# make upgrade
#
asgiref==3.7.2
# via django
backports-zoneinfo==0.2.1
asgiref==3.8.1
# via django
backports-zoneinfo==0.2.1 ; python_version < "3.9"
# via
# -c requirements/constraints.txt
# django
# djangorestframework
cffi==1.16.0
# via pynacl
click==8.1.7
# via edx-django-utils
django==4.2.10
django==4.2.11
# via
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
# -c requirements/common_constraints.txt
# -r requirements/base.in
# django-crum
# django-waffle
Expand All @@ -24,25 +27,28 @@ django-crum==0.7.9
# via edx-django-utils
django-waffle==4.1.0
# via edx-django-utils
djangorestframework==3.14.0
djangorestframework==3.15.1
# via -r requirements/base.in
edx-django-utils==5.10.1
edx-django-utils==5.12.0
# via -r requirements/base.in
newrelic==9.7.0
newrelic==9.8.0
# via edx-django-utils
pbr==6.0.0
# via stevedore
psutil==5.9.8
# via edx-django-utils
pycparser==2.21
pycparser==2.22
# via cffi
pynacl==1.5.0
# via edx-django-utils
pytz==2024.1
# via djangorestframework
sqlparse==0.4.4
# via django
stevedore==5.2.0
# via edx-django-utils
typing-extensions==4.10.0
# via asgiref
wheel==0.43.0
# via -r requirements/base.in

# The following packages are considered to be unsafe in a requirements file:
# setuptools
4 changes: 2 additions & 2 deletions requirements/ci.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,11 @@
#
distlib==0.3.8
# via virtualenv
filelock==3.13.1
filelock==3.13.3
# via
# tox
# virtualenv
packaging==23.2
packaging==24.0
# via
# pyproject-api
# tox
Expand Down
32 changes: 32 additions & 0 deletions requirements/common_constraints.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# A central location for most common version constraints
# (across edx repos) for pip-installation.
#
# Similar to other constraint files this file doesn't install any packages.
# It specifies version constraints that will be applied if a package is needed.
# When pinning something here, please provide an explanation of why it is a good
# idea to pin this package across all edx repos, Ideally, link to other information
# that will help people in the future to remove the pin when possible.
# Writing an issue against the offending project and linking to it here is good.
#
# Note: Changes to this file will automatically be used by other repos, referencing
# this file from Github directly. It does not require packaging in edx-lint.


# using LTS django version
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
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
7 changes: 5 additions & 2 deletions requirements/constraints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,8 @@
# pin when possible. Writing an issue against the offending project and
# linking to it here is good.

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

# Temporary to Support the python 3.11 Upgrade
backports.zoneinfo;python_version<"3.9" # Newer versions have zoneinfo available in the standard library
48 changes: 24 additions & 24 deletions requirements/dev.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#
# make upgrade
#
asgiref==3.7.2
asgiref==3.8.1
# via
# -r requirements/quality.txt
# django
Expand All @@ -13,11 +13,13 @@ 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
# djangorestframework
build==1.2.1
# via
# -r requirements/pip-tools.txt
# pip-tools
Expand All @@ -38,11 +40,11 @@ click-log==0.4.0
# via
# -r requirements/quality.txt
# edx-lint
code-annotations==1.6.0
code-annotations==1.7.0
# via
# -r requirements/quality.txt
# edx-lint
coverage[toml]==7.4.3
coverage[toml]==7.4.4
# via
# -r requirements/quality.txt
# pytest-cov
Expand All @@ -56,9 +58,9 @@ distlib==0.3.8
# via
# -r requirements/ci.txt
# 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
# -c requirements/common_constraints.txt
# -r requirements/quality.txt
# django-crum
# django-waffle
Expand All @@ -74,11 +76,11 @@ django-waffle==4.1.0
# via
# -r requirements/quality.txt
# edx-django-utils
djangorestframework==3.14.0
djangorestframework==3.15.1
# via -r requirements/quality.txt
edx-django-release-util==1.3.0
# via -r requirements/quality.txt
edx-django-utils==5.10.1
edx-django-utils==5.12.0
# via -r requirements/quality.txt
edx-i18n-tools==1.3.0
# via -r requirements/dev.in
Expand All @@ -88,15 +90,16 @@ exceptiongroup==1.2.0
# via
# -r requirements/quality.txt
# pytest
filelock==3.13.1
filelock==3.13.3
# via
# -r requirements/ci.txt
# tox
# virtualenv
freezegun==1.4.0
# via -r requirements/quality.txt
importlib-metadata==7.0.1
importlib-metadata==6.11.0
# via
# -c requirements/common_constraints.txt
# -r requirements/pip-tools.txt
# build
iniconfig==2.0.0
Expand All @@ -111,7 +114,7 @@ jinja2==3.1.3
# via
# -r requirements/quality.txt
# code-annotations
lxml==5.1.0
lxml==5.1.1
# via edx-i18n-tools
markupsafe==2.1.5
# via
Expand All @@ -121,11 +124,11 @@ mccabe==0.7.0
# via
# -r requirements/quality.txt
# pylint
newrelic==9.7.0
newrelic==9.8.0
# via
# -r requirements/quality.txt
# edx-django-utils
packaging==23.2
packaging==24.0
# via
# -r requirements/ci.txt
# -r requirements/pip-tools.txt
Expand All @@ -139,7 +142,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 All @@ -165,7 +168,7 @@ py==1.11.0
# tox
pycodestyle==2.11.1
# via -r requirements/quality.txt
pycparser==2.21
pycparser==2.22
# via
# -r requirements/quality.txt
# cffi
Expand Down Expand Up @@ -200,12 +203,12 @@ pyproject-hooks==1.0.0
# -r requirements/pip-tools.txt
# build
# pip-tools
pytest==8.1.0
pytest==8.1.1
# via
# -r requirements/quality.txt
# pytest-cov
# pytest-django
pytest-cov==4.1.0
pytest-cov==5.0.0
# via -r requirements/quality.txt
pytest-django==4.8.0
# via -r requirements/quality.txt
Expand All @@ -217,10 +220,6 @@ python-slugify==8.0.4
# via
# -r requirements/quality.txt
# code-annotations
pytz==2024.1
# via
# -r requirements/quality.txt
# djangorestframework
pyyaml==6.0.1
# via
# -r requirements/quality.txt
Expand Down Expand Up @@ -284,11 +283,12 @@ virtualenv==20.25.1
# via
# -r requirements/ci.txt
# tox
wheel==0.42.0
wheel==0.43.0
# via
# -r requirements/pip-tools.txt
# -r requirements/quality.txt
# pip-tools
zipp==3.17.0
zipp==3.18.1
# via
# -r requirements/pip-tools.txt
# importlib-metadata
Expand Down
Loading
Loading