Skip to content

Commit 91ce10c

Browse files
authored
Revert "chore(deps): pin packaging to upper boundary (#12664)" (#12871)
* Revert "chore(deps): pin packaging to upper boundary (#12664)" This reverts commit 48502f9. * bump packaging from 21.3 to 23.0 * Updates for packaging==23.0 compatibility
1 parent 6179855 commit 91ce10c

File tree

10 files changed

+35
-62
lines changed

10 files changed

+35
-62
lines changed

requirements/deploy.in

-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,2 @@
11
gunicorn==20.1.0
22
ddtrace==1.7.2
3-
# Until resolved https://github.com/googleapis/python-bigquery/issues/1435
4-
packaging<22.0

requirements/deploy.txt

100755100644
+4-10
Original file line numberDiff line numberDiff line change
@@ -106,12 +106,10 @@ jsonschema==4.17.3 \
106106
--hash=sha256:0f864437ab8b6076ba6707453ef8f98a6a0d512a80e93f8abdb676f737ecb60d \
107107
--hash=sha256:a870ad254da1a8ca84b6a2905cac29d265f805acc57af304784962a2aa6508f6
108108
# via ddtrace
109-
packaging==21.3 \
110-
--hash=sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb \
111-
--hash=sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522
112-
# via
113-
# -r requirements/deploy.in
114-
# ddtrace
109+
packaging==23.0 \
110+
--hash=sha256:714ac14496c3e68c99c29b00845f7a2b85f3bb6f1078fd9f72fd20f0570002b2 \
111+
--hash=sha256:b6ad297f8907de0fa2fe1ccbd26fdaf387f5f47c7275fedf8cce89f99446cf97
112+
# via ddtrace
115113
protobuf==4.21.12 \
116114
--hash=sha256:1f22ac0ca65bb70a876060d96d914dae09ac98d114294f77584b0d2644fa9c30 \
117115
--hash=sha256:237216c3326d46808a9f7c26fd1bd4b20015fb6867dc5d263a493ef9a539293b \
@@ -130,10 +128,6 @@ protobuf==4.21.12 \
130128
# via
131129
# ddsketch
132130
# ddtrace
133-
pyparsing==3.0.9 \
134-
--hash=sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb \
135-
--hash=sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc
136-
# via packaging
137131
pyrsistent==0.19.3 \
138132
--hash=sha256:016ad1afadf318eb7911baa24b049909f7f3bb2c5b1ed7b6a8f21db21ea3faa8 \
139133
--hash=sha256:1a2994773706bbb4995c31a97bc94f1418314923bd1048c6d964837040376440 \

requirements/docs.in

+1-2
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,4 @@ furo
22
Sphinx
33
sphinxcontrib-httpdomain
44
myst-parser
5-
# Until resolved https://github.com/googleapis/python-bigquery/issues/1435
6-
packaging<22.0
5+
docutils<0.19

requirements/docs.txt

+4-10
Original file line numberDiff line numberDiff line change
@@ -204,22 +204,16 @@ myst-parser==0.18.1 \
204204
--hash=sha256:61b275b85d9f58aa327f370913ae1bec26ebad372cc99f3ab85c8ec3ee8d9fb8 \
205205
--hash=sha256:79317f4bb2c13053dd6e64f9da1ba1da6cd9c40c8a430c447a7b146a594c246d
206206
# via -r requirements/docs.in
207-
packaging==21.3 \
208-
--hash=sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb \
209-
--hash=sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522
210-
# via
211-
# -r requirements/docs.in
212-
# sphinx
207+
packaging==23.0 \
208+
--hash=sha256:714ac14496c3e68c99c29b00845f7a2b85f3bb6f1078fd9f72fd20f0570002b2 \
209+
--hash=sha256:b6ad297f8907de0fa2fe1ccbd26fdaf387f5f47c7275fedf8cce89f99446cf97
210+
# via sphinx
213211
pygments==2.14.0 \
214212
--hash=sha256:b3ed06a9e8ac9a9aae5a6f5dbe78a8a58655d17b43b93c078f094ddc476ae297 \
215213
--hash=sha256:fa7bd7bd2771287c0de303af8bfdfc731f51bd2c6a47ab69d117138893b82717
216214
# via
217215
# furo
218216
# sphinx
219-
pyparsing==3.0.9 \
220-
--hash=sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb \
221-
--hash=sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc
222-
# via packaging
223217
pytz==2022.7.1 \
224218
--hash=sha256:01a0681c4b9684a28304615eba55d1ab31ae00bf68ec157ec3708a8182dbbcd0 \
225219
--hash=sha256:78f4f37d8198e0627c5f1143240bb0206b8691d8d7ac6d78fee88b78733f8c4a

requirements/main.in

-2
Original file line numberDiff line numberDiff line change
@@ -70,5 +70,3 @@ WTForms[email]>=2.0.0
7070
yara-python
7171
zope.sqlalchemy
7272
zxcvbn
73-
# Until resolved https://github.com/googleapis/python-bigquery/issues/1435
74-
packaging<22.0

requirements/main.txt

+3-7
Original file line numberDiff line numberDiff line change
@@ -1089,9 +1089,9 @@ orjson==3.8.5 \
10891089
--hash=sha256:f2be0025ca7e460bcacb250aba8ce0239be62957d58cf34045834cc9302611d3 \
10901090
--hash=sha256:f5745ff473dd5c6718bf8c8d5bc183f638b4f3e03c7163ffcda4d4ef453f42ff
10911091
# via -r requirements/main.in
1092-
packaging==21.3 \
1093-
--hash=sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb \
1094-
--hash=sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522
1092+
packaging==23.0 \
1093+
--hash=sha256:714ac14496c3e68c99c29b00845f7a2b85f3bb6f1078fd9f72fd20f0570002b2 \
1094+
--hash=sha256:b6ad297f8907de0fa2fe1ccbd26fdaf387f5f47c7275fedf8cce89f99446cf97
10951095
# via
10961096
# -r requirements/main.in
10971097
# google-cloud-bigquery
@@ -1265,10 +1265,6 @@ pyopenssl==23.0.0 \
12651265
--hash=sha256:c1cc5f86bcacefc84dada7d31175cae1b1518d5f60d3d0bb595a67822a868a6f \
12661266
--hash=sha256:df5fc28af899e74e19fccb5510df423581047e10ab6f1f4ba1763ff5fde844c0
12671267
# via webauthn
1268-
pyparsing==3.0.9 \
1269-
--hash=sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb \
1270-
--hash=sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc
1271-
# via packaging
12721268
pyqrcode==1.2.1 \
12731269
--hash=sha256:1b2812775fa6ff5c527977c4cd2ccb07051ca7d0bc0aecf937a43864abe5eff6 \
12741270
--hash=sha256:fdbf7634733e56b72e27f9bce46e4550b75a3a2c420414035cae9d9d26b234d5

requirements/tests.in

-2
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,3 @@ pytest>=3.0.0
66
pytest-postgresql>=3.1.3,<4.0.0
77
responses>=0.5.1
88
webtest
9-
# Until resolved https://github.com/googleapis/python-bigquery/issues/1435
10-
packaging<22.0

requirements/tests.txt

+4-10
Original file line numberDiff line numberDiff line change
@@ -183,12 +183,10 @@ mirakuru==2.4.2 \
183183
--hash=sha256:ec84d4d81b4bca96cb0e598c6b3d198a92f036a0c1223c881482c02a98508226 \
184184
--hash=sha256:fdb67d141cc9f7abd485a515d618daf3272c3e6ff48380749997ff8e8c5f2cb2
185185
# via pytest-postgresql
186-
packaging==21.3 \
187-
--hash=sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb \
188-
--hash=sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522
189-
# via
190-
# -r requirements/tests.in
191-
# pytest
186+
packaging==23.0 \
187+
--hash=sha256:714ac14496c3e68c99c29b00845f7a2b85f3bb6f1078fd9f72fd20f0570002b2 \
188+
--hash=sha256:b6ad297f8907de0fa2fe1ccbd26fdaf387f5f47c7275fedf8cce89f99446cf97
189+
# via pytest
192190
pluggy==1.0.0 \
193191
--hash=sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159 \
194192
--hash=sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3
@@ -215,10 +213,6 @@ psutil==5.9.4 \
215213
--hash=sha256:c1ca331af862803a42677c120aff8a814a804e09832f166f226bfd22b56feee8 \
216214
--hash=sha256:efeae04f9516907be44904cc7ce08defb6b665128992a56957abc9b61dca94b7
217215
# via mirakuru
218-
pyparsing==3.0.9 \
219-
--hash=sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb \
220-
--hash=sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc
221-
# via packaging
222216
pytest==7.2.1 \
223217
--hash=sha256:c7c6ca206e93355074ae32f7403e8ea12163b1163c976fee7d4d84027c162be5 \
224218
--hash=sha256:d45e0952f3727241918b8fd0f376f5ff6b301cc0777c6f9a556935c92d8a7d42

tests/unit/forklift/test_legacy.py

+15-9
Original file line numberDiff line numberDiff line change
@@ -106,13 +106,22 @@ def test_validates_valid_pep440_version(self, version):
106106
form, field = pretend.stub(), pretend.stub(data=version)
107107
legacy._validate_pep440_version(form, field)
108108

109-
@pytest.mark.filterwarnings("ignore:Creating a LegacyVersion.*:DeprecationWarning")
110-
@pytest.mark.parametrize("version", ["dog", "1.0.dev.a1", "1.0+local"])
109+
@pytest.mark.parametrize("version", ["dog", "1.0.dev.a1"])
111110
def test_validates_invalid_pep440_version(self, version):
112111
form, field = pretend.stub(), pretend.stub(data=version)
113-
with pytest.raises(ValidationError):
112+
with pytest.raises(ValidationError) as e:
113+
legacy._validate_pep440_version(form, field)
114+
115+
assert str(e.value) == "Invalid PEP 440 version."
116+
117+
@pytest.mark.parametrize("version", ["1.0+local"])
118+
def test_validates_local_pep440_version(self, version):
119+
form, field = pretend.stub(), pretend.stub(data=version)
120+
with pytest.raises(ValidationError) as e:
114121
legacy._validate_pep440_version(form, field)
115122

123+
assert str(e.value) == "Can't use PEP 440 local versions."
124+
116125
@pytest.mark.parametrize(
117126
("requirement", "expected"),
118127
[("foo", ("foo", None)), ("foo (>1.0)", ("foo", ">1.0"))],
@@ -868,11 +877,9 @@ def test_fails_invalid_version(self, pyramid_config, pyramid_request, version):
868877
(
869878
{"metadata_version": "1.2", "name": "example", "version": "dog"},
870879
"'dog' is an invalid value for Version. "
871-
"Error: Start and end with a letter or numeral "
872-
"containing only ASCII numeric and '.', '_' and '-'. "
873-
"See "
874-
"https://packaging.python.org/specifications/core-metadata"
875-
" for more information.",
880+
"Error: Invalid PEP 440 version. See "
881+
"https://packaging.python.org/specifications/core-metadata for "
882+
"more information.",
876883
),
877884
# filetype/pyversion errors.
878885
(
@@ -994,7 +1001,6 @@ def test_fails_invalid_version(self, pyramid_config, pyramid_request, version):
9941001
),
9951002
],
9961003
)
997-
@pytest.mark.filterwarnings("ignore:Creating a LegacyVersion.*:DeprecationWarning")
9981004
def test_fails_invalid_post_data(
9991005
self, pyramid_config, db_request, post_data, message
10001006
):

warehouse/forklift/legacy.py

+4-8
Original file line numberDiff line numberDiff line change
@@ -215,14 +215,10 @@ def _exc_with_message(exc, message, **kwargs):
215215

216216

217217
def _validate_pep440_version(form, field):
218-
parsed = packaging.version.parse(field.data)
219-
220-
# Check that this version is a valid PEP 440 version at all.
221-
if not isinstance(parsed, packaging.version.Version):
222-
raise wtforms.validators.ValidationError(
223-
"Start and end with a letter or numeral containing only "
224-
"ASCII numeric and '.', '_' and '-'."
225-
)
218+
try:
219+
parsed = packaging.version.parse(field.data)
220+
except packaging.version.InvalidVersion:
221+
raise wtforms.validators.ValidationError("Invalid PEP 440 version.")
226222

227223
# Check that this version does not have a PEP 440 local segment attached
228224
# to it.

0 commit comments

Comments
 (0)