Resolved incident

PyPI Partial Outage

PyPI · Major · Started

Duration
61h 16m
Severity
Major
Status
Resolved

Summary

Major · Resolved

We have not seen a return of the traffic that caused this incident after removing the temporary block. We will open a new incident if we need to take action again.

View official incident ↗

Event timeline

How this incident unfolded, from the official status page.

  1. Investigating

    PyPI

    We are working to investigate a partial outage in the PyPI backends.

  2. Identified

    PyPI

    We have identified a large increase in CDN cache misses causing excess load on our backends. We are working to determine the reason for this increase.

  3. Identified

    PyPI

    We have identified a flood of requests from a cluster using the `python-requests/2.32.3` User-Agent, and attempting to hit all JSON project/releasese en masse. This causes excessive cache misses, which are overwhelming our backends. A temporary block has been put in place.

  4. Monitoring

    PyPI

    Our block is in place and systems are stable, but we are not satisfied with having to block such a generic user-agent. If you are aware of a system that began a mass crawl of PyPI's JSON release endpoints starting at around 22:05 UTC 2025-05-25, please contact admin@pypi.org.

  5. Monitoring

    PyPI

    We have removed the temporary block and are continuing to monitor.

  6. Resolved

    PyPI

    We have not seen a return of the traffic that caused this incident after removing the temporary block. We will open a new incident if we need to take action again.