Skip to content

Commit 56d8f50

Browse files
committed
feat!: Python 3.12 Upgrade
1 parent b38870a commit 56d8f50

16 files changed

+114
-150
lines changed

.github/workflows/ci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ jobs:
1515
strategy:
1616
matrix:
1717
os:
18-
- ubuntu-20.04
18+
- ubuntu-22.04
1919
python-version:
20-
- 3.11
20+
- 3.12
2121
targets: [ 'quality','main.test','docs' ]
2222

2323
steps:
@@ -40,7 +40,7 @@ jobs:
4040
&& export TOXENV=django42 && make test.requirements tox.requirements ${{ matrix.targets }}"
4141

4242
- name: Run Coverage
43-
if: matrix.python-version == '3.11' && matrix.targets=='main.test'
43+
if: matrix.python-version == '3.12' && matrix.targets=='main.test'
4444
uses: codecov/codecov-action@v1
4545
with:
4646
fail_ci_if_error: true

.github/workflows/mysql8-migrations.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ jobs:
1313
runs-on: ${{ matrix.os }}
1414
strategy:
1515
matrix:
16-
os: [ ubuntu-20.04 ]
17-
python-version: [ 3.11 ]
16+
os: [ ubuntu-22.04 ]
17+
python-version: [ 3.12 ]
1818

1919
steps:
2020
- name: Checkout repo

.github/workflows/upgrade-python-requirements.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
uses: openedx/.github/.github/workflows/upgrade-python-requirements.yml@master
1616
with:
1717
branch: ${{ github.event.inputs.branch || 'master' }}
18-
python_version: "3.11"
18+
python_version: "3.12"
1919
# optional parameters below; fill in if you'd like github or email notifications
2020
# user_reviewers: ""
2121
# team_reviewers: ""

.readthedocs.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
version: 2
77

88
build:
9-
os: "ubuntu-20.04"
9+
os: "ubuntu-22.04"
1010
tools:
11-
python: "3.8"
11+
python: "3.12"
1212

1313
# Build documentation in the docs/ directory with Sphinx
1414
sphinx:

Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ FROM ubuntu:focal as base
22

33
# System requirements.
44

5-
# ENV variables for Python 3.11 support
6-
ARG PYTHON_VERSION=3.11
5+
# ENV variables for Python 3.12 support
6+
ARG PYTHON_VERSION=3.12
77
ENV TZ=UTC
88
ENV TERM=xterm-256color
99
ENV DEBIAN_FRONTEND=noninteractive

requirements/base.txt

Lines changed: 18 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# This file is autogenerated by pip-compile with Python 3.11
2+
# This file is autogenerated by pip-compile with Python 3.12
33
# by the following command:
44
#
55
# make upgrade
@@ -11,9 +11,9 @@ asgiref==3.8.1
1111
# django-countries
1212
boto==2.49.0
1313
# via -r requirements/base.in
14-
boto3==1.35.41
14+
boto3==1.35.48
1515
# via -r requirements/base.in
16-
botocore==1.35.41
16+
botocore==1.35.48
1717
# via
1818
# boto3
1919
# s3transfer
@@ -31,7 +31,7 @@ coreapi==2.3.3
3131
# via -r requirements/base.in
3232
coreschema==0.0.4
3333
# via coreapi
34-
cryptography==43.0.1
34+
cryptography==43.0.3
3535
# via
3636
# django-fernet-fields-v2
3737
# pyjwt
@@ -71,10 +71,8 @@ django-model-utils==5.0.0
7171
# via
7272
# edx-enterprise-data
7373
# edx-rbac
74-
django-storages==1.10.1
75-
# via
76-
# -c requirements/constraints.txt
77-
# -r requirements/base.in
74+
django-storages==1.14.4
75+
# via -r requirements/base.in
7876
django-waffle==4.1.0
7977
# via
8078
# edx-django-utils
@@ -91,32 +89,30 @@ djangorestframework-csv==3.0.2
9189
# via
9290
# -r requirements/base.in
9391
# edx-enterprise-data
94-
dnspython==2.6.1
95-
# via
96-
# -c requirements/constraints.txt
97-
# pymongo
92+
dnspython==2.7.0
93+
# via pymongo
9894
drf-jwt==1.19.2
9995
# via edx-drf-extensions
100-
drf-yasg==1.21.7
96+
drf-yasg==1.21.8
10197
# via edx-api-doc-tools
10298
edx-api-doc-tools==2.0.0
10399
# via -r requirements/base.in
104100
edx-ccx-keys==1.3.0
105101
# via -r requirements/base.in
106102
edx-django-release-util==1.4.0
107103
# via -r requirements/base.in
108-
edx-django-utils==6.1.0
104+
edx-django-utils==7.0.0
109105
# via
110106
# -r requirements/base.in
111107
# edx-drf-extensions
112108
# edx-enterprise-data
113109
# edx-rest-api-client
114-
edx-drf-extensions==10.4.0
110+
edx-drf-extensions==10.5.0
115111
# via
116112
# -r requirements/base.in
117113
# edx-enterprise-data
118114
# edx-rbac
119-
edx-enterprise-data==9.6.0
115+
edx-enterprise-data==10.0.1
120116
# via -r requirements/base.in
121117
edx-opaque-keys==2.11.0
122118
# via
@@ -132,7 +128,7 @@ edx-rest-api-client==6.0.0
132128
# edx-enterprise-data
133129
factory-boy==3.3.1
134130
# via edx-enterprise-data
135-
faker==30.4.0
131+
faker==30.8.1
136132
# via factory-boy
137133
html5lib==1.1
138134
# via -r requirements/base.in
@@ -150,25 +146,25 @@ jmespath==1.0.1
150146
# botocore
151147
markdown==3.7
152148
# via -r requirements/base.in
153-
markupsafe==3.0.1
149+
markupsafe==3.0.2
154150
# via jinja2
155151
mysql-connector-python==9.1.0
156152
# via edx-enterprise-data
157153
newrelic==10.2.0
158154
# via edx-django-utils
159-
numpy==1.24.4
155+
numpy==2.1.2
160156
# via
161157
# edx-enterprise-data
162158
# pandas
163159
ordered-set==4.1.0
164160
# via -r requirements/base.in
165161
packaging==24.1
166162
# via drf-yasg
167-
pandas==2.0.3
163+
pandas==2.2.3
168164
# via edx-enterprise-data
169165
pbr==6.1.0
170166
# via stevedore
171-
psutil==6.0.0
167+
psutil==6.1.0
172168
# via edx-django-utils
173169
pycparser==2.22
174170
# via cffi
@@ -236,9 +232,8 @@ uritemplate==4.1.1
236232
# via
237233
# coreapi
238234
# drf-yasg
239-
urllib3==1.26.20
235+
urllib3==2.2.3
240236
# via
241-
# -c requirements/constraints.txt
242237
# -r requirements/base.in
243238
# botocore
244239
# requests

requirements/ci.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# This file is autogenerated by pip-compile with Python 3.11
2+
# This file is autogenerated by pip-compile with Python 3.12
33
# by the following command:
44
#
55
# make upgrade

requirements/constraints.txt

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,11 @@
1111
# TODO: Many pinned dependencies should be unpinned and/or moved to this constraints file.
1212
django<4.3
1313

14-
# django-storages version 1.9 drops support for boto storage backend.
15-
# pinning before django upgrade, will unpin after that
16-
django-storages<1.11 # BSD
17-
1814
# elasticsearch library cannot be greater than 7.14.0. 7.14.0 library is not compatible with the 7.10 server in stage and prod
1915
elasticsearch < 7.14.0
2016

2117
# elasticsearch-dsl depends on elasticsearch >=7.8.0,<8.0.0
2218
elasticsearch-dsl>=7.2.1,<8.0.0
2319

24-
# botocore 1.35.14 has requirement urllib3<1.27,>=1.25.4; python_version < "3.10"
25-
urllib3<2.0.0
26-
2720
# path>16.14.0 has removed the deprecated abspath function, which is breaking the docs build
2821
path<16.15.0
29-
30-
# dnspython 2.7.0 Requires-Python >=3.9
31-
dnspython<2.7.0

requirements/dev.txt

Lines changed: 19 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# This file is autogenerated by pip-compile with Python 3.11
2+
# This file is autogenerated by pip-compile with Python 3.12
33
# by the following command:
44
#
55
# make upgrade
@@ -11,9 +11,9 @@ asgiref==3.8.1
1111
# django-countries
1212
boto==2.49.0
1313
# via -r requirements/base.in
14-
boto3==1.35.41
14+
boto3==1.35.48
1515
# via -r requirements/base.in
16-
botocore==1.35.41
16+
botocore==1.35.48
1717
# via
1818
# boto3
1919
# s3transfer
@@ -31,7 +31,7 @@ coreapi==2.3.3
3131
# via -r requirements/base.in
3232
coreschema==0.0.4
3333
# via coreapi
34-
cryptography==43.0.1
34+
cryptography==43.0.3
3535
# via
3636
# django-fernet-fields-v2
3737
# pyjwt
@@ -71,10 +71,8 @@ django-model-utils==5.0.0
7171
# via
7272
# edx-enterprise-data
7373
# edx-rbac
74-
django-storages==1.10.1
75-
# via
76-
# -c requirements/constraints.txt
77-
# -r requirements/base.in
74+
django-storages==1.14.4
75+
# via -r requirements/base.in
7876
django-waffle==4.1.0
7977
# via
8078
# edx-django-utils
@@ -91,32 +89,30 @@ djangorestframework-csv==3.0.2
9189
# via
9290
# -r requirements/base.in
9391
# edx-enterprise-data
94-
dnspython==2.6.1
95-
# via
96-
# -c requirements/constraints.txt
97-
# pymongo
92+
dnspython==2.7.0
93+
# via pymongo
9894
drf-jwt==1.19.2
9995
# via edx-drf-extensions
100-
drf-yasg==1.21.7
96+
drf-yasg==1.21.8
10197
# via edx-api-doc-tools
10298
edx-api-doc-tools==2.0.0
10399
# via -r requirements/base.in
104100
edx-ccx-keys==1.3.0
105101
# via -r requirements/base.in
106102
edx-django-release-util==1.4.0
107103
# via -r requirements/base.in
108-
edx-django-utils==6.1.0
104+
edx-django-utils==7.0.0
109105
# via
110106
# -r requirements/base.in
111107
# edx-drf-extensions
112108
# edx-enterprise-data
113109
# edx-rest-api-client
114-
edx-drf-extensions==10.4.0
110+
edx-drf-extensions==10.5.0
115111
# via
116112
# -r requirements/base.in
117113
# edx-enterprise-data
118114
# edx-rbac
119-
edx-enterprise-data==9.6.0
115+
edx-enterprise-data==10.0.1
120116
# via -r requirements/base.in
121117
edx-opaque-keys==2.11.0
122118
# via
@@ -132,7 +128,7 @@ edx-rest-api-client==6.0.0
132128
# edx-enterprise-data
133129
factory-boy==3.3.1
134130
# via edx-enterprise-data
135-
faker==30.4.0
131+
faker==30.8.1
136132
# via factory-boy
137133
html5lib==1.1
138134
# via -r requirements/base.in
@@ -150,27 +146,27 @@ jmespath==1.0.1
150146
# botocore
151147
markdown==3.7
152148
# via -r requirements/base.in
153-
markupsafe==3.0.1
149+
markupsafe==3.0.2
154150
# via jinja2
155151
mysql-connector-python==9.1.0
156152
# via edx-enterprise-data
157-
mysqlclient==2.2.4
153+
mysqlclient==2.2.5
158154
# via -r requirements/dev.in
159155
newrelic==10.2.0
160156
# via edx-django-utils
161-
numpy==1.24.4
157+
numpy==2.1.2
162158
# via
163159
# edx-enterprise-data
164160
# pandas
165161
ordered-set==4.1.0
166162
# via -r requirements/base.in
167163
packaging==24.1
168164
# via drf-yasg
169-
pandas==2.0.3
165+
pandas==2.2.3
170166
# via edx-enterprise-data
171167
pbr==6.1.0
172168
# via stevedore
173-
psutil==6.0.0
169+
psutil==6.1.0
174170
# via edx-django-utils
175171
pycparser==2.22
176172
# via cffi
@@ -238,9 +234,8 @@ uritemplate==4.1.1
238234
# via
239235
# coreapi
240236
# drf-yasg
241-
urllib3==1.26.20
237+
urllib3==2.2.3
242238
# via
243-
# -c requirements/constraints.txt
244239
# -r requirements/base.in
245240
# botocore
246241
# requests

0 commit comments

Comments
 (0)