From e3cfb0558e8e2aad66feba01e47064a60660bcd6 Mon Sep 17 00:00:00 2001 From: Gerrod Ubben Date: Wed, 19 Feb 2025 16:21:19 -0500 Subject: [PATCH] Raise pkginfo upperbound requirement This adds preliminary support for metadata spec 2.4, i.e uploads won't break --- CHANGES/+preliminary-md-24-support.misc | 1 + .../tests/functional/api/test_crud_content_unit.py | 13 +++++++++++++ pyproject.toml | 2 +- 3 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 CHANGES/+preliminary-md-24-support.misc diff --git a/CHANGES/+preliminary-md-24-support.misc b/CHANGES/+preliminary-md-24-support.misc new file mode 100644 index 00000000..7fa38ffc --- /dev/null +++ b/CHANGES/+preliminary-md-24-support.misc @@ -0,0 +1 @@ +Ensure uploading packages with metadata spec 2.4 is supported. diff --git a/pulp_python/tests/functional/api/test_crud_content_unit.py b/pulp_python/tests/functional/api/test_crud_content_unit.py index 6dcbc450..4264d051 100644 --- a/pulp_python/tests/functional/api/test_crud_content_unit.py +++ b/pulp_python/tests/functional/api/test_crud_content_unit.py @@ -134,3 +134,16 @@ def test_upload_requires_python(python_content_factory): content = python_content_factory(filename, url=package.url) assert content.requires_python == ">=3.8" break + + +@pytest.mark.parallel +def test_upload_metadata_24_spec(python_content_factory): + """Test that packages using metadata spec 2.4 can be uploaded to pulp.""" + filename = "urllib3-2.3.0-py3-none-any.whl" + with PyPISimple() as client: + page = client.get_project_page("urllib3") + for package in page.packages: + if package.filename == filename: + content = python_content_factory(filename, url=package.url) + assert content.metadata_version == "2.4" + break diff --git a/pyproject.toml b/pyproject.toml index 6e18da75..6b8f46d2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -28,7 +28,7 @@ classifiers=[ requires-python = ">=3.9" dependencies = [ "pulpcore>=3.49.0,<3.85", - "pkginfo>=1.10.0,<1.12.0", # Twine has <1.11 in their requirements + "pkginfo>=1.10.0,<1.13.0", "bandersnatch>=6.3,<7.0", # Anything >6.3 requires Python 3.10+ "pypi-simple>=1.5.0,<2.0", ]