ARTIFACTORY: How to Support Upload Date-Based Package Filtering for uv and pip (Artifactory 7.132.x+)

Products
Frog_Artifactory
Content Type
Use_Case
AuthorFullName__c
Alec Choy
articleNumber
000007082
FirstPublishedDate
2026-07-23T05:42:43Z
lastModifiedDate
2026-07-23

ARTIFACTORY: How to Support Upload Date-Based Package Filtering for uv and pip (Artifactory 7.132.x+)

Introduction
When using the uv or pip package managers with a PyPI repository proxied through Artifactory, upload-date-based filtering flags may fail to work as expected, or the package manager may report that upload date metadata is missing. Specifically:
  • uv uses --exclude-newer to limit candidate packages to those uploaded before a given date
  • pip uses --uploaded-prior-to (introduced in pip 25.3) for the same purpose
Both flags rely on the upload-time field in the Simple API JSON response. Artifactory only exposes this field when the Simple JSON Format feature is enabled — a capability introduced in Artifactory 7.132.x.
On Artifactory versions below 7.132.x, upload dates are not returned in the Simple API response, causing these flags to silently skip date-based filtering or produce errors.
This article explains the root cause and the steps to enable Simple JSON Format on supported versions.


Resolution
Step-by-Step
  1. Verify your Artifactory version. Navigate to Administration → General → About and confirm the version is 7.132.x or later. If your version is older, the Simple JSON Format option is not available and neither flag can be supported — you will need to upgrade Artifactory first.
  2. Enable Simple JSON Format. In the Artifactory UI:
    • Go to Administration → Artifactory Settings → Package Settings
    • Enable the Simple JSON Format option
    • Save the configuration
  3. Verify the response format. Make a request to the PyPI Simple API endpoint for a known package and confirm the response includes upload-time fields:
    curl -u <user>:<token> \
        "https://<your-artifactory>/artifactory/api/pypi/<repo>/simple/<package>/" \
        -H "Accept: application/vnd.pypi.simple.v1+json"
    The response should include an upload-time field per release file. If it does not, confirm the Simple JSON Format setting was saved correctly.
  4. Test your package manager flag. Run your command and confirm that packages newer than the specified date are excluded. Using uv:
    uv pip install <package> --exclude-newer 2024-01-01 \
        --index-url https://<your-artifactory>/artifactory/api/pypi/<repo>/simple/
    Using pip (25.3+):
    pip install <package> --uploaded-prior-to 2024-01-01T00:00:00Z \
        --index-url https://<your-artifactory>/artifactory/api/pypi/<repo>/simple/


Conclusion
Both uv's --exclude-newer and pip's --uploaded-prior-to flags require upload date metadata that Artifactory exposes only via the Simple JSON Format feature introduced in 7.132.x. Enabling this setting resolves the missing upload date issue. If you are on an older Artifactory version, upgrading to 7.132.x or later is required to support these flags.


References: