Before you act
- Confirm that the scope matches your case.
- Keep recommendations, enforced limits, exceptions, and unstated details distinct.
- Open the official source before relying on the rule for a consequential decision.
Source-backed platform rule
PyPI creates a new release from the first file uploaded for a version and uses that file to populate release metadata.
RuleRoster is independent and is not affiliated with or endorsed by PyPI.
Direct answer
For a version not yet on PyPI, the first uploaded file creates the release and populates its metadata.
Published evidence
The upload API accepts one file at a time. For a new version, the first uploaded file creates the release and populates its metadata. Metadata immutability is not stated.
Service: PyPI Upload API. Route: POST upload.pypi.org/legacy/. Version state: new version. Policy version and effective dates: not stated.
Evidence trail
PyPI · verified August 14, 2026
PyPI Warehouse documentation and templates by Warehouse contributors: https://github.com/pypi/warehouse/tree/72387a451a5dc0fd0641ba7a3add4edd882f1036. Licensed under Apache License 2.0: https://github.com/pypi/warehouse/blob/72387a451a5dc0fd0641ba7a3add4edd882f1036/LICENSE. Modified by RuleRoster: RuleRoster extracted and restructured facts into typed rule fields and concise answers. Verified 2026-08-14. No root NOTICE file was present at the reviewed revision. No endorsement by PyPI or the Python Software Foundation is implied.
Interpretation and accountability
If the source or summary appears wrong, submit precise evidence for human review.