Skip to content
This repository was archived by the owner on May 1, 2024. It is now read-only.

Commit 3166815

Browse files
authored
Merge pull request #470 from edx/pyjwt-upgrade
feat: Upgrading edx-drf-extensions which will bring pyjwt latest ver.
2 parents c7fe7fd + fd2fb5a commit 3166815

10 files changed

Lines changed: 110 additions & 62 deletions

File tree

Makefile

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,18 @@ tox.requirements: ## install tox requirements
3333
develop: test.requirements ## install test and dev requirements
3434
pip3 install -q -r requirements/dev.txt
3535

36+
37+
COMMON_CONSTRAINTS_TXT=requirements/common_constraints.txt
38+
.PHONY: $(COMMON_CONSTRAINTS_TXT)
39+
$(COMMON_CONSTRAINTS_TXT):
40+
wget -O "$(@)" https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt || touch "$(@)"
41+
3642
upgrade: export CUSTOM_COMPILE_COMMAND=make upgrade
37-
upgrade: ## update the requirements/*.txt files with the latest packages satisfying requirements/*.in
43+
upgrade: $(COMMON_CONSTRAINTS_TXT) ## update the requirements/*.txt files with the latest packages satisfying requirements/*.in
44+
sed 's/pyjwt\[crypto\]<2.0.0//g' requirements/common_constraints.txt > requirements/common_constraints.tmp
45+
mv requirements/common_constraints.tmp requirements/common_constraints.txt
46+
sed 's/edx-drf-extensions<7.0.0//g' requirements/common_constraints.txt > requirements/common_constraints.tmp
47+
mv requirements/common_constraints.tmp requirements/common_constraints.txt
3848
pip3 install -q -r requirements/pip_tools.txt
3949
pip-compile --upgrade -o requirements/pip_tools.txt requirements/pip_tools.in
4050
pip-compile --upgrade -o requirements/base.txt requirements/base.in

requirements/base.txt

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
#
77
boto==2.42.0
88
# via -r requirements/base.in
9-
boto3==1.18.12
9+
boto3==1.18.18
1010
# via -r requirements/base.in
11-
botocore==1.21.12
11+
botocore==1.21.18
1212
# via
1313
# boto3
1414
# s3transfer
@@ -32,7 +32,7 @@ cryptography==3.4.7
3232
# pyjwt
3333
django==2.2.24
3434
# via
35-
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
35+
# -c requirements/common_constraints.txt
3636
# -r requirements/base.in
3737
# django-cors-headers
3838
# django-crum
@@ -83,7 +83,7 @@ djangorestframework-csv==2.1.1
8383
# via -r requirements/base.in
8484
drf-jwt==1.19.0
8585
# via
86-
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
86+
# -c requirements/common_constraints.txt
8787
# edx-drf-extensions
8888
edx-ccx-keys==1.2.1
8989
# via -r requirements/base.in
@@ -95,9 +95,8 @@ edx-django-utils==4.2.0
9595
# edx-drf-extensions
9696
# edx-enterprise-data
9797
# edx-rest-api-client
98-
edx-drf-extensions==6.4.0
98+
edx-drf-extensions==7.0.1
9999
# via
100-
# -c requirements/constraints.txt
101100
# -r requirements/base.in
102101
# edx-enterprise-data
103102
# edx-rbac
@@ -115,7 +114,7 @@ edx-rest-api-client==5.4.0
115114
# via
116115
# -r requirements/base.in
117116
# edx-enterprise-data
118-
elasticsearch==7.13.4
117+
elasticsearch==7.14.0
119118
# via elasticsearch-dsl
120119
elasticsearch-dsl==7.4.0
121120
# via
@@ -137,7 +136,7 @@ markdown==2.6.6
137136
# via -r requirements/base.in
138137
markupsafe==2.0.1
139138
# via jinja2
140-
newrelic==6.6.0.162
139+
newrelic==6.8.0.163
141140
# via edx-django-utils
142141
openapi-codec==1.3.2
143142
# via django-rest-swagger
@@ -155,10 +154,10 @@ pycryptodomex==3.10.1
155154
# via pyjwkest
156155
pyjwkest==1.4.2
157156
# via edx-drf-extensions
158-
pyjwt[crypto]==1.7.1
157+
pyjwt[crypto]==2.1.0
159158
# via
160-
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
161159
# drf-jwt
160+
# edx-drf-extensions
162161
# edx-rest-api-client
163162
pymongo==3.12.0
164163
# via edx-opaque-keys
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# A central location for most common version constraints
2+
# (across edx repos) for pip-installation.
3+
#
4+
# Similar to other constraint files this file doesn't install any packages.
5+
# It specifies version constraints that will be applied if a package is needed.
6+
# When pinning something here, please provide an explanation of why it is a good
7+
# idea to pin this package across all edx repos, Ideally, link to other information
8+
# that will help people in the future to remove the pin when possible.
9+
# Writing an issue against the offending project and linking to it here is good.
10+
#
11+
# Note: Changes to this file will automatically be used by other repos, referencing
12+
# this file from Github directly. It does not require packaging in edx-lint.
13+
14+
15+
# using LTS django version
16+
Django<2.3
17+
18+
# latest version is causing e2e failures in edx-platform.
19+
# See comment.
20+
drf-jwt<1.19.1
21+
22+
# 4.0.0 requires pyjwt[crypto] 2.1.0. See comment.
23+
edx-auth-backends<4.0.0
24+
25+
# 7.0.0 requires pyjwt[crypto] 2.1.0. See comment.
26+
27+
28+
# PyJWT[crypto] 2.0.0 has a number of breaking changes that we are
29+
# actively working to fix. A number of the active constraints are all related
30+
# to this effort. Additionally, your IDA/service may also be affected directly
31+
# by these changes. You should not upgrade without knowing what you are doing.
32+
33+
34+
# 5.0.0+ of social-auth-app-django requires social-auth-core>=4.1.0
35+
social-auth-app-django<5.0.0
36+
37+
# latest version requires PyJWT>=2.0.0 but drf-jwt requires PyJWT[crypto]<2.0.0,>=1.5.2.
38+
# See comment.
39+
social-auth-core<4.0.3

requirements/constraints.txt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,9 @@
88
# pin when possible. Writing an issue against the offending project and
99
# linking to it here is good.
1010

11-
# Common constraints for edx repos
12-
-c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
11+
# copy/paste all pins from upstream link. It gives us option to override any pin.
12+
# otherwise pip-tools gives conflicting errors.
13+
-c common_constraints.txt
1314

1415
# TODO: Many pinned dependencies should be unpinned and/or moved to this constraints file.
1516

@@ -30,5 +31,3 @@ tox==3.14.6
3031
pylint==2.4.4
3132
pylint-django==2.0.11
3233

33-
34-
edx-drf-extensions==6.4.0

requirements/dev.txt

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
#
77
boto==2.42.0
88
# via -r requirements/base.in
9-
boto3==1.18.12
9+
boto3==1.18.18
1010
# via -r requirements/base.in
11-
botocore==1.21.12
11+
botocore==1.21.18
1212
# via
1313
# boto3
1414
# s3transfer
@@ -32,7 +32,7 @@ cryptography==3.4.7
3232
# pyjwt
3333
django==2.2.24
3434
# via
35-
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
35+
# -c requirements/common_constraints.txt
3636
# -r requirements/base.in
3737
# django-cors-headers
3838
# django-crum
@@ -83,7 +83,7 @@ djangorestframework-csv==2.1.1
8383
# via -r requirements/base.in
8484
drf-jwt==1.19.0
8585
# via
86-
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
86+
# -c requirements/common_constraints.txt
8787
# edx-drf-extensions
8888
edx-ccx-keys==1.2.1
8989
# via -r requirements/base.in
@@ -95,9 +95,8 @@ edx-django-utils==4.2.0
9595
# edx-drf-extensions
9696
# edx-enterprise-data
9797
# edx-rest-api-client
98-
edx-drf-extensions==6.4.0
98+
edx-drf-extensions==7.0.1
9999
# via
100-
# -c requirements/constraints.txt
101100
# -r requirements/base.in
102101
# edx-enterprise-data
103102
# edx-rbac
@@ -115,7 +114,7 @@ edx-rest-api-client==5.4.0
115114
# via
116115
# -r requirements/base.in
117116
# edx-enterprise-data
118-
elasticsearch==7.13.4
117+
elasticsearch==7.14.0
119118
# via elasticsearch-dsl
120119
elasticsearch-dsl==7.4.0
121120
# via
@@ -137,7 +136,7 @@ markdown==2.6.6
137136
# via -r requirements/base.in
138137
markupsafe==2.0.1
139138
# via jinja2
140-
newrelic==6.6.0.162
139+
newrelic==6.8.0.163
141140
# via edx-django-utils
142141
openapi-codec==1.3.2
143142
# via django-rest-swagger
@@ -155,10 +154,10 @@ pycryptodomex==3.10.1
155154
# via pyjwkest
156155
pyjwkest==1.4.2
157156
# via edx-drf-extensions
158-
pyjwt[crypto]==1.7.1
157+
pyjwt[crypto]==2.1.0
159158
# via
160-
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
161159
# drf-jwt
160+
# edx-drf-extensions
162161
# edx-rest-api-client
163162
pymongo==3.12.0
164163
# via edx-opaque-keys

requirements/doc.txt

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
#
77
boto==2.42.0
88
# via -r requirements/base.in
9-
boto3==1.18.12
9+
boto3==1.18.18
1010
# via -r requirements/base.in
11-
botocore==1.21.12
11+
botocore==1.21.18
1212
# via
1313
# boto3
1414
# s3transfer
@@ -32,7 +32,7 @@ cryptography==3.4.7
3232
# pyjwt
3333
django==2.2.24
3434
# via
35-
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
35+
# -c requirements/common_constraints.txt
3636
# -r requirements/base.in
3737
# django-cors-headers
3838
# django-crum
@@ -85,7 +85,7 @@ docutils==0.17.1
8585
# via sphinx
8686
drf-jwt==1.19.0
8787
# via
88-
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
88+
# -c requirements/common_constraints.txt
8989
# edx-drf-extensions
9090
edx-ccx-keys==1.2.1
9191
# via -r requirements/base.in
@@ -97,9 +97,8 @@ edx-django-utils==4.2.0
9797
# edx-drf-extensions
9898
# edx-enterprise-data
9999
# edx-rest-api-client
100-
edx-drf-extensions==6.4.0
100+
edx-drf-extensions==7.0.1
101101
# via
102-
# -c requirements/constraints.txt
103102
# -r requirements/base.in
104103
# edx-enterprise-data
105104
# edx-rbac
@@ -117,7 +116,7 @@ edx-rest-api-client==5.4.0
117116
# via
118117
# -r requirements/base.in
119118
# edx-enterprise-data
120-
elasticsearch==7.13.4
119+
elasticsearch==7.14.0
121120
# via elasticsearch-dsl
122121
elasticsearch-dsl==7.4.0
123122
# via
@@ -141,7 +140,7 @@ markdown==2.6.6
141140
# via -r requirements/base.in
142141
markupsafe==2.0.1
143142
# via jinja2
144-
newrelic==6.6.0.162
143+
newrelic==6.8.0.163
145144
# via edx-django-utils
146145
openapi-codec==1.3.2
147146
# via django-rest-swagger
@@ -161,10 +160,10 @@ pygments==2.9.0
161160
# via sphinx
162161
pyjwkest==1.4.2
163162
# via edx-drf-extensions
164-
pyjwt[crypto]==1.7.1
163+
pyjwt[crypto]==2.1.0
165164
# via
166-
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
167165
# drf-jwt
166+
# edx-drf-extensions
168167
# edx-rest-api-client
169168
pymongo==3.12.0
170169
# via edx-opaque-keys

requirements/pip_tools.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@ pip-tools==6.2.0
1212
# via -r requirements/pip_tools.in
1313
six==1.16.0
1414
# via -r requirements/pip_tools.in
15-
tomli==1.2.0
15+
tomli==1.2.1
1616
# via pep517
17-
wheel==0.36.2
17+
wheel==0.37.0
1818
# via pip-tools
1919

2020
# The following packages are considered to be unsafe in a requirements file:

requirements/production.txt

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
#
77
boto==2.42.0
88
# via -r requirements/base.in
9-
boto3==1.18.12
9+
boto3==1.18.18
1010
# via -r requirements/base.in
11-
botocore==1.21.12
11+
botocore==1.21.18
1212
# via
1313
# boto3
1414
# s3transfer
@@ -32,7 +32,7 @@ cryptography==3.4.7
3232
# pyjwt
3333
django==2.2.24
3434
# via
35-
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
35+
# -c requirements/common_constraints.txt
3636
# -r requirements/base.in
3737
# django-cors-headers
3838
# django-crum
@@ -83,7 +83,7 @@ djangorestframework-csv==2.1.1
8383
# via -r requirements/base.in
8484
drf-jwt==1.19.0
8585
# via
86-
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
86+
# -c requirements/common_constraints.txt
8787
# edx-drf-extensions
8888
edx-ccx-keys==1.2.1
8989
# via -r requirements/base.in
@@ -95,9 +95,8 @@ edx-django-utils==4.2.0
9595
# edx-drf-extensions
9696
# edx-enterprise-data
9797
# edx-rest-api-client
98-
edx-drf-extensions==6.4.0
98+
edx-drf-extensions==7.0.1
9999
# via
100-
# -c requirements/constraints.txt
101100
# -r requirements/base.in
102101
# edx-enterprise-data
103102
# edx-rbac
@@ -115,17 +114,17 @@ edx-rest-api-client==5.4.0
115114
# via
116115
# -r requirements/base.in
117116
# edx-enterprise-data
118-
elasticsearch==7.13.4
117+
elasticsearch==7.14.0
119118
# via elasticsearch-dsl
120119
elasticsearch-dsl==7.4.0
121120
# via
122121
# -c requirements/constraints.txt
123122
# -r requirements/base.in
124123
future==0.18.2
125124
# via pyjwkest
126-
gevent==21.1.2
125+
gevent==21.8.0
127126
# via -r requirements/production.in
128-
greenlet==1.1.0
127+
greenlet==1.1.1
129128
# via gevent
130129
gunicorn==20.1.0
131130
# via -r requirements/production.in
@@ -145,7 +144,7 @@ markupsafe==2.0.1
145144
# via jinja2
146145
mysqlclient==2.0.3
147146
# via -r requirements/production.in
148-
newrelic==6.6.0.162
147+
newrelic==6.8.0.163
149148
# via
150149
# -r requirements/production.in
151150
# edx-django-utils
@@ -167,10 +166,10 @@ pycryptodomex==3.10.1
167166
# via pyjwkest
168167
pyjwkest==1.4.2
169168
# via edx-drf-extensions
170-
pyjwt[crypto]==1.7.1
169+
pyjwt[crypto]==2.1.0
171170
# via
172-
# -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
173171
# drf-jwt
172+
# edx-drf-extensions
174173
# edx-rest-api-client
175174
pymongo==3.12.0
176175
# via edx-opaque-keys

0 commit comments

Comments
 (0)