Skip to content

feat(pypi): emit PEP 700 fields in the simple JSON - #963

Merged
ertime037 merged 1 commit into
mainfrom
feat/896-pypi-pep700
Sep 6, 2026
Merged

feat(pypi): emit PEP 700 fields in the simple JSON#963
ertime037 merged 1 commit into
mainfrom
feat/896-pypi-pep700

Conversation

@devitway

@devitway devitway commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Adds the PEP 700 fields to NORA's PyPI Simple JSON (PEP 691) responses:

  • meta.api-version is now 1.1
  • a project-level versions list
  • per-file upload-time (RFC 3339) and size (bytes)

This lets clients that key off release metadata — e.g. Renovate's minimumReleaseAge — work against a NORA-proxied index. NORA already recorded the upstream upload-time (used for the download-quarantine clock); this surfaces it, together with the file size from storage and the version list parsed from the filenames, in the JSON index.

The fields are additive and omitted when unknown (e.g. size for an upstream-only file that has not been cached yet), so existing PEP 691 consumers are unaffected.

Closes #896.

@devitway
devitway requested a review from ertime037 as a code owner September 6, 2026 04:14
@github-actions

github-actions Bot commented Sep 6, 2026

Copy link
Copy Markdown

🐳 Test image pushed: ghcr.io/getnora-io/nora:pr-963

docker pull ghcr.io/getnora-io/nora:pr-963
docker run --rm -p 4000:4000 ghcr.io/getnora-io/nora:pr-963

Add meta.api-version 1.1, a project-level versions[] list, and per-file
upload-time (RFC3339, from the cached dates.json) + size (from storage) to the
PyPI Simple JSON. Lets clients such as Renovate compute a minimum release age;
before this only PEP 691 (filename/url/hashes) was exposed though upload-time was
already cached for digest-quarantine. Fields are additive and omitted when
unknown (upstream-only files). Closes #896.
@devitway
devitway force-pushed the feat/896-pypi-pep700 branch from 9a25f48 to 8416bf1 Compare September 6, 2026 04:49
@github-actions

github-actions Bot commented Sep 6, 2026

Copy link
Copy Markdown

🐳 Test image pushed: ghcr.io/getnora-io/nora:pr-963

docker pull ghcr.io/getnora-io/nora:pr-963
docker run --rm -p 4000:4000 ghcr.io/getnora-io/nora:pr-963

@ertime037
ertime037 added this pull request to the merge queue Sep 6, 2026
Merged via the queue into main with commit 37b9ea5 Sep 6, 2026
20 checks passed
@ertime037
ertime037 deleted the feat/896-pypi-pep700 branch September 6, 2026 05:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

pypi: Support PEP 700

2 participants