Skip to content

Document Our Endpoint.. Priority? SLA? Some Other Name? #11559

@dstufft

Description

@dstufft

In practice PyPI has roughly the following "tiers" of endpoint

Tier 1 - Simple API
Tier 2 - File Upload / Web UI / JSON
Tier 3 - XMLRPC / Conveyor

This more or less ends up meaning:

Tier 1 - We do not tolerate breaking changes without a PEP, we go out of our way to avoid unplanned (or even planned) downtime.
Tier 2 - We attempt not to introduce breaking changes, but they're more likely due to a lack of standardization. We still attempt to avoid downtime, but we're more willing to accept it or to "power through it" to get through some migration. If you're able to use a Tier 1 API, you should do that, but Tier 2 is generally OK, but has an increased risk of breakages.
Tier 3 - Effectively still around because something still uses it, but should be treated as more or less unsupported, and breaking changes will be applied as needed for overall service health and/or maintainability. Nobody should use these

Maybe File Upload should be moved to Tier 1, or like a Tier 1.5, I'm not sure. I think this more or less matches the mental model that we all generally have for the various endpoints on PyPI.

If folks agree with that, we should probably document that explicitly in the API reference so that people understand how we view the various endpoints, and so they can make choices based on that.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions