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 85963db6..721e5e54 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", ]