Skip to content

Incident detail

PyPI Partial Outage

PyPI Partial Outage

Resolved incidentMajor1 affected service

Timeline window

to

Sponsored placement

Google AdSense placeholder

This slot is reserved for future AdSense placement. It stays as a non-invasive placeholder until a client ID and slot ID are configured.

Timeline

Incident updates

Updates are normalized from the official source chronology so timeline changes remain easy to scan.

  1. Investigating

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

  2. Identified

    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

    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

    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

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

  6. 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.