Skip to content

Add some clarifications based on DPO feedback#5012

Open
warsaw wants to merge 2 commits into
python:mainfrom
warsaw:bwarsaw/694-round-3-feedback
Open

Add some clarifications based on DPO feedback#5012
warsaw wants to merge 2 commits into
python:mainfrom
warsaw:bwarsaw/694-round-3-feedback

Conversation

@warsaw

@warsaw warsaw commented Jun 29, 2026

Copy link
Copy Markdown
Member
  • Add an Atomic Publication and Conflicts section. Specify that publication is atomic with respect to
    the release's filename namespace: the server reserves the session's filenames for the duration of a
    publish so that concurrent uploads (including through the legacy API) receive a 409 Conflict, and
    releases the reservation if the publish fails. Clarify that the conflict check at file upload session
    creation is best-effort and that the authoritative check happens atomically at publish time, reported
    synchronously as a 409 Conflict or, for a deferred publish, by moving the session to the error
    state with the reason in notices.
  • Add a Session Status Retention section. Specify that after a session reaches a terminal
    (published or canceled) state, the server SHOULD keep serving its status URL reporting the
    terminal status for an index-specific retention period, after which it MAY return 404 Not Found,
    and that clients must be prepared for such a 404. Reconcile the cancellation rules accordingly: the
    data-bearing and action URLs may become unavailable once purged, while the status URL is retained.
    Tie file upload session status URL retention to the parent publishing session: while the parent is
    non-terminal the server SHOULD keep its file upload session status URLs valid, and once the parent
    terminates they are retained no longer than the parent's status URL.
  • Expand the "Why is the project name required" FAQ to note that single-project sessions still improve
    multi-project releases (all projects can be fully staged before a final step publishes each one) and lay a
    foundation for a possible future "publish multiple projects" endpoint.

warsaw added 2 commits June 29, 2026 15:05
* Close some race conditions
* Describe conflict resolution and name reservation
@warsaw warsaw requested a review from ncoghlan June 29, 2026 22:30
@warsaw warsaw self-assigned this Jun 29, 2026
@warsaw warsaw requested a review from dstufft as a code owner June 29, 2026 22:30
@read-the-docs-community

Copy link
Copy Markdown

Documentation build overview

📚 pep-previews | 🛠️ Build #33364301 | 📁 Comparing 43052c0 against latest (113a0a5)

  🔍 Preview build  

1 file changed
± pep-0694/index.html

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.

1 participant