Pricing
Status historyRSS updatesStatus API

Powered by Uptimus

    Python Package Index outage history

    53 recorded Python Package Index incidents since March 2022, with official updates, affected components, duration and resolution information.

    Back to current status

    PyPI Backends Partial Availability

    Started October 2, 2026 at 1:15 AM UTC · 17m

    OutageMajor incident
    Affected components
    pypi.org - Backends
    1. October 2, 2026 at 1:15 AM UTCidentified

      infrastructure maintenance is having a larger impact on availability of PyPI's backends than anticipated. we are working to stabilize.

    2. October 2, 2026 at 1:32 AM UTCresolved

      the maintenance is complete and everything has stabilized

    Multiple services unavailable

    Started October 1, 2026 at 11:13 AM UTC · 6m

    Pending
    Affected components
    docs.python.org - Backends
    1. October 1, 2026 at 11:13 AM UTCmonitoring

      Multiple python.org services were impacted by expiration of internal TLS certificates caused by use of APIs deprecated by a recent library update. We have resolved the issue and are monitoring as services come back online after renewing their internal certificates.

    2. October 1, 2026 at 11:18 AM UTCresolved

      All services are restored.

    Issues with search, logins and logged-in pages

    Started September 28, 2026 at 12:42 PM UTC · 12h 42m

    IssuesMinor incident
    Affected components
    pypi.org - Backendspypi.org - General
    1. September 28, 2026 at 12:42 PM UTCinvestigating

      We are currently investigating this issue.

    2. September 28, 2026 at 1:47 PM UTCinvestigating

      We are continuing to investigate this issue.

    3. September 28, 2026 at 1:48 PM UTCmonitoring

      We have resolved the issue and are monitoring for changes.

    4. September 29, 2026 at 1:24 AM UTCresolved

      This incident has been resolved.

    Issues with search, logins and logged-in pages

    Started September 23, 2026 at 11:02 AM UTC · 6h 3m

    IssuesMinor incident
    Affected components
    pypi.org - Backendspypi.org - General
    1. September 23, 2026 at 11:02 AM UTCinvestigating

      We are currently investigating this issue.

    2. September 23, 2026 at 2:06 PM UTCmonitoring

      The traffic has subsided and the cluster is stable. A performance fix has been drafted.

    3. September 23, 2026 at 5:05 PM UTCresolved

      A fix has been implemented and the incident is closed.

    Python Infrastructure Outage

    Started February 26, 2026 at 8:04 PM UTC · 3h 22m

    OutageCritical incident
    Affected components
    python.org - CDNus.pycon.orgbugs.python.orgpython.org - Downloads Backendspython.org - Backends
    1. February 26, 2026 at 8:04 PM UTCinvestigating

      We are currently investigating this issue

    2. February 26, 2026 at 8:40 PM UTCinvestigating

      The root cause has been identified as an erroneous scaling operation that affected some application workloads. All services have been restored and are coming back online. We are monitoring to confirm full recovery.

    3. February 26, 2026 at 11:26 PM UTCresolved

      The incident has been resolved.

    4. February 26, 2026 at 11:26 PM UTCpostmortem

      The incident has been resolved. ## Incident Report: Cluster-wide service outage **Duration**: ~36 minutes \(20:04–20:40 UTC\) **Impact**: Some PSF-hosted services were unavailable, including [python.org](http://python.org), [us.pycon.org](http://us.pycon.org), PyPI stats, [bugs.python.org](http://bugs.python.org), and related services. What was unaffected was our other cluster that manages [PyPI.org](http://PyPI.org) among other services related to PyPI. **Root Cause**: During local development of kubernetes workloads locally there was an incorrect context switch to one of our production clusters. The scale-down commands ran against the production cluster instead of the local environment, iterating through all deployments and setting them to zero replicas. which created cascading failures. **Recovery**: Services were restored with the help of Ee Durbin by bringing up infrastructure in dependency order, original replica counts were recovered from Kubernetes event history. Action items: * Separate kubeconfig files for production vs local, rather than relying on context switching * Research adding admission control or policies to prevent bulk scale-to-zero operations * Document the infrastructure dependency chain and recovery runbook for future incidents Jacob Coffee, PSF Infrastructure Team

    API Traffic experiencing intermittent failures

    Started February 19, 2026 at 10:46 PM UTC · 1h 12m

    IssuesMinor incident
    Affected components
    pypi.org - Backendspypi.org - CDNpypi.org - General
    1. February 19, 2026 at 10:46 PM UTCinvestigating

      We are currently investigating this issue.

    2. February 19, 2026 at 10:56 PM UTCmonitoring

      A fix has been implemented and we are monitoring the results.

    3. February 19, 2026 at 11:59 PM UTCresolved

      This incident has been resolved.

    PyPI Uploads failing

    Started January 7, 2026 at 10:42 PM UTC · 18m

    Pending
    Affected components
    pypi.org - Backends
    1. January 7, 2026 at 10:42 PM UTCinvestigating

      We are investigating why PyPI uploads are failing.

    2. January 7, 2026 at 10:59 PM UTCmonitoring

      We identified a database lock causing contention and stopped all upload backends to release all locks and are monitoring for recovery.

    3. January 7, 2026 at 11:00 PM UTCresolved

      This incident has been resolved.

    Slow updates to PyPI pages/API responses

    Started November 12, 2025 at 3:46 PM UTC · 39m

    IssuesMinor incident
    Affected components
    pypi.org - Backendspypi.org - CDNpypi.org - Generalpypi.org - Email
    1. November 12, 2025 at 3:46 PM UTCinvestigating

      We are currently observing a slowdown in background requests processing for events on PyPI.org This could lead to stale web pages and API responses as the events system is not able to purge the caches. Our team is continuing to investigate.

    2. November 12, 2025 at 3:50 PM UTCmonitoring

      A fix has been implemented and we are monitoring the results.

    3. November 12, 2025 at 4:26 PM UTCresolved

      This incident has been resolved.

    PyPI Search Index Degraded

    Started July 29, 2025 at 2:41 PM UTC · 5h 17m

    IssuesMinor incident
    Affected components
    pypi.org - Backends
    1. July 29, 2025 at 2:41 PM UTCmonitoring

      The PyPI search index has degraded and is not returning results. A reindexing job has begun, and results will be available once it completes.

    2. July 29, 2025 at 7:58 PM UTCresolved

      This incident has been resolved.

    PyPI Partial Outage

    Started May 24, 2025 at 10:57 PM UTC · 2d 13h

    OutageMajor incident
    Affected components
    pypi.org - Backends
    1. May 24, 2025 at 10:57 PM UTCinvestigating

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

    2. May 24, 2025 at 11:11 PM UTCidentified

      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. May 24, 2025 at 11:37 PM UTCidentified

      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. May 24, 2025 at 11:54 PM UTCmonitoring

      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 [email protected].

    5. May 25, 2025 at 12:16 PM UTCmonitoring

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

    6. May 27, 2025 at 12:53 PM UTCresolved

      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.

    PyPI Elevated Error Rates

    Started April 24, 2025 at 12:02 PM UTC · 16m

    OutageMajor incident
    Affected components
    pypi.org - Backends
    1. April 24, 2025 at 12:02 PM UTCinvestigating

      We're investigating elevated error rates for pypi.org

    2. April 24, 2025 at 12:09 PM UTCidentified

      We've identified an issue with database contention arising from locking.

    3. April 24, 2025 at 12:09 PM UTCmonitoring

      The locking process has been terminated and we're monitoring as things recover.

    4. April 24, 2025 at 12:18 PM UTCresolved

      This incident is resolved. We're going to do some further investigation to understand what led to the lock contention.

    PyPI Simple and JSON API Outage

    Started April 8, 2025 at 10:23 AM UTC · 37m

    OutageMajor incident
    Affected components
    pypi.org - Backendspypi.org - CDN
    1. April 8, 2025 at 10:23 AM UTCidentified

      We are working to resolve an outage impacting our /simple and /json apis.

    2. April 8, 2025 at 10:26 AM UTCmonitoring

      We've increased capacity in the worker pools that service /simple and /json and are monitoring as things recover.

    3. April 8, 2025 at 10:31 AM UTCmonitoring

      Errors have subsided, and we are monitoring as things continue to recover.

    4. April 8, 2025 at 11:00 AM UTCresolved

      This incident has been resolved.

    Download file corruption

    Started March 11, 2025 at 12:13 PM UTC · 1h 26m

    OutageMajor incident
    Affected components
    files.pythonhosted.org - Files
    1. March 11, 2025 at 12:13 PM UTCinvestigating

      We are investigating issues with files from files.pythonhosted.org being served with corrupted data. A support ticket has been opened with our CDN provider and we are awaiting their response.

    2. March 11, 2025 at 12:47 PM UTCidentified

      This issue appears to be isolated to a single edge node in our CDN provider's network. They have validated the issue and are working to resolve.

    3. March 11, 2025 at 12:50 PM UTCmonitoring

      Our CDN provider has reported that the node in question has been removed from service. We are monitoring for continued reports.

    4. March 11, 2025 at 1:05 PM UTCmonitoring

      We are continuing to monitor for any further issues.

    5. March 11, 2025 at 1:39 PM UTCresolved

      This incident has been resolved.

    Infrastructure Outage

    Started December 13, 2024 at 1:44 PM UTC · 1h 25m

    OutageCritical incident
    Affected components
    speed.pypy.orgdocs.python.org - Backendsbugs.python.orgwiki.python.orgpython.org - Downloads Backends
    1. December 13, 2024 at 1:44 PM UTCinvestigating

      We are currently investigating an infrastructure outage impacting python.org/downloads backends, docs.python.org backends, bugs.python.org backends, wiki.python.org backends, as well as other services.

    2. December 13, 2024 at 1:59 PM UTCinvestigating

      We are continuing to investigate this issue.

    3. December 13, 2024 at 2:00 PM UTCidentified

      Private networking in our datacenter for these services is currently intermittent, we have opened a ticket with the provider requesting assistance.

    4. December 13, 2024 at 2:45 PM UTCidentified

      We are continuing to work on a fix for this issue.

    5. December 13, 2024 at 2:58 PM UTCmonitoring

      We have begun seeing recovery across all services as of 14:44 UTC, we are monitoring for stability and ensuring all services are healthy.

    6. December 13, 2024 at 3:09 PM UTCresolved

      This incident has been resolved.

    PyPI Simple Index Timing Out

    Started August 21, 2024 at 7:53 PM UTC · 31m

    IssuesMinor incident
    Affected components
    pypi.org - Backends
    1. August 21, 2024 at 7:53 PM UTCidentified

      An error serving /simple requests has caused timeouts for some requests. We have identified the issue and are working on a revert.

    2. August 21, 2024 at 8:23 PM UTCresolved

      This incident has been resolved.

    3. August 22, 2024 at 8:47 PM UTCpostmortem

      **What happened?** PyPI experienced an outage which resulted in serving 500-level responses for certain requests, including requests to a subset of the [Simple Repository API](https://peps.python.org/pep-0503/), from approximately 19:00:00 UTC to 20:15:00 UTC. As a result, some packages were uninstallable during this period. While such outages are not entirely uncommon and generally easy to recover from, this outage was more severe due to PyPI becoming un-deployable as a result of its own outage. **Impact** At its peak, PyPI served errors at approximately 25 responses per second and in total nearly 100K requests during this ~1hr 15m period resulted in an error. This represents approximately 0.04% of usual traffic to the affected services. **Background** PyPI is served by a Python web application named ‘Warehouse’, with several dependencies on Python packages that are hosted on PyPI. As part of the deployment pipeline, Warehouse and its dependencies are built into a series of container images that are ultimately deployed into a container orchestration service. At the time of the incident, PyPI contributors were working on adding new functionality, which included introducing a new service to the service layer used with PyPI’s web framework. While the actual details of this new functionality is unrelated, a misconfiguration of this new service resulted in views that depended on this service failing to successfully serve a response, which was missed by PyPI’s unit test suite and by manual testing of the feature branch. **Investigation** PyPI administrators were notified of a production error approximately 10 minutes after it was introduced, and immediately after a faulty request was served: * 2024-08-21T18:48:29 UTC - The feature branch is merged into the \`main\` branch of the Warehouse repository * 2024-08-21T18:55:42 UTC - The container image is built and deployed to production * 2024-08-21T18:58:37 UTC - PyPI admins are notified of an exception in production affecting a Simple Repository API view At this point, PyPI administrators began working on a fix. **Root Causes and Trigger** PyPI administrators immediately determined that the recent merge was at fault due to timing and clear signals from the error observed. As a result of PyPI’s container orchestration and deployment service not explicitly supporting rollbacks, issues like this are generally resolved by introducing a new pull request which reverts the problematic commit, which in turn is merged and [deployed.](http://deployed.In) In this instance, a revert commit was prepared, however the decision was made to wait for a forward fix to be prepared instead. This was partly because it was thought that this fix would be a trivial change and could be prepared as quickly as a revert, thus saving time overall. However, additionally, the introduction of the new feature included a database migration which had already been applied in production. This migration could not be reverted simply by reverting the commit, as deployment would fail when it would attempt to bring the database up to date with the migration history, and find that the current migration version was no longer present. This instead would require an additional migration to migrate the database forwards to a state that would be compatible with the reverted commit, which would potentially take more time than introducing a fix. The fix was prepared, merged and deployed, however it contained an additional issue that resulted in it not ultimately resolving the root cause. An additional pull request to rectify the issue with the forward fix was prepared. At this time, PyPI administrators noted that PyPI’s CI/CD suite was failing to build the containers required to run the test suite on new pull requests, due to the \`/simple\` detail page for one of PyPI’s dependencies being unresolvable due to the outage. As a result, the team decided to pursue a full revert of the feature instead, hoping to leverage our container layer cache to ensure that external requests to PyPI would not be necessary to build. An additional pull request to fully revert the faulty commit was prepared. While the container image build on the new PR was successful, a CI/CD check which did not use the container image, namely a check that ensures Warehouse’s dependency lock files are up-to-date, failed due to the outage. PyPI administrators attempted disabling the required status of these checks in branch protection for the repository, however the failed dependency check caused the remaining tests to be canceled before completion, which prevented the deployment pipeline from picking up on the new commit and triggering a deployment. At this time, PyPI administrators determined that overriding the build/deploy service to manually revert the deployed container image back to a known good image, bypassing the release phase that included migrations, was required. **Mitigation** Mitigation required bypassing PyPI’s build and deploy pipeline to manually re-deploy a previously built image, without running the release phase which included migrations. This allowed PyPI to successfully respond to previously failing requests, allowing the reverted pull request to build and be deployed, fully resolving the issue in production. * 2024-08-21T20:17:58 UTC - The revert was fully deployed to production and errors subsided Additionally, after the production incident was resolved, it was determined that although the final deployment to TestPyPI had been reported as successful, it had not succeeded due to the database migration failing to get a lock, highlighting that there was additionally a logic error in our deployment reporting when deployments fail. **Lessons Learned** * Until additional protections are in place, when an outage affects \`/simple\`, reverts must be immediate or they run the risk of requiring manual intervention. * It is clear that a lack of functional testing is a gap in assurances against production outages. **Things That Went Well** * Maintaining cached container image layers proved potentially useful for recovering from issues where new container images could not be built due to the outage. **Things That Went Poorly** * PyPI used to maintain a mirror of itself on a third-party service to prevent incidents like this, however this is no longer used due to maintenance of the mirror becoming an issue due to on-disk size. * The decision to not revert and fix forward instead proved to not work out. While the additional time to do the additional work to revert could have still resulted in a stuck merge, waiting for the forward fix, which had additional issues, resulted in enough time passing for one of PyPI’s dependencies to be affected by the outage. * A popular dependency, which was also a Warehouse sub-dependency, quickly fell out of cache. PyPI’s CDN is configured to serve stale responses while it revalidates for 5 minutes, and to serve stale responses while the backends are returning errors for 1 day, so the CDN should not have served an error for any of these pages. * The lack of a mirror and a production dependency on PyPI allowed for an ‘ouroboros’ style paradoxical outage that could not be resolved by a simple revert. * A subset of CI/CD checks in the critical path to deployment reach out to PyPI directly as part of their tests, and as a result they will likely fail in conditions like this outage. * Failing CI/CD checks that were not strictly required by branch protection rules were preventing the deployment pipeline from proceeding with the deployment due to setting \`cancel-in-progress: true\` on the parent workflow, causing the workflow to fail when they failed or were canceled. * The Warehouse codebase has extensive unit testing which depends on stubbing/mocking which masked the root cause. The codebase only recently gained the ability to perform functional testing, but the problematic PR did not add additional functional tests, and the limited functional testing that did exist missed this issue. **Where We Got Lucky** * At the time of the incident, all of PyPI’s administrators were online and able to contribute towards mitigating the outage, including the sole administrator that was capable of performing the manual rollback. **Action Items** * Determine why the sub-dependency fell out of cache more quickly than expected based on the CDN configuration, and how that could have been prevented. * Add functional testing to cover the Simple Repository API, with a focus on critical code paths that can cause similar outages. * Update the deployment pipeline to correctly report on deployment status. * Introduce rollback functionality for the deployment pipeline so that a rollback does not require manual intervention or specific knowledge. * Re-introduce a mirror \(either static or a caching proxy\) for PyPI that would not be affected by production outages. * Revisit the CI/CD dependency check and determine how it be hardened against a production outage to not block a deployment.

    Issue with uploads

    Started August 9, 2024 at 6:22 PM UTC · 1h 5m

    IssuesMinor incident
    Affected components
    pypi.org - General
    1. August 9, 2024 at 6:22 PM UTCinvestigating

      We are currently investigating an issue with PyPI uploads causing uploads to fail.

    2. August 9, 2024 at 7:08 PM UTCidentified

      The issue has been identified and a fix is being implemented.

    3. August 9, 2024 at 7:23 PM UTCmonitoring

      A fix has been implemented and we are monitoring the results.

    4. August 9, 2024 at 7:26 PM UTCresolved

      Uploads are now being accepted properly.

    PyPI Backend Outage

    Started July 31, 2024 at 3:21 AM UTC · 13m

    OutageCritical incident
    Affected components
    pypi.org - Backendspypi.org - CDN
    1. July 31, 2024 at 3:21 AM UTCinvestigating

      We are currently investigating an issue with the PyPI backend due to a recent deploy.

    2. July 31, 2024 at 3:34 AM UTCresolved

      This incident has been resolved.

    PyPI Database Upgrades

    Started July 12, 2024 at 2:28 PM UTC · 1h 50m

    IssuesMinor incident
    Affected components
    pypi.org - Backends
    1. July 12, 2024 at 2:28 PM UTCidentified

      We are performing upgrades to PyPI's database storage which may impact performance and availability of the service as they rollout.

    2. July 12, 2024 at 4:18 PM UTCresolved

      This maintenance is complete.

    PyPI Database Upgrades

    Started June 8, 2024 at 1:43 PM UTC · 1h 9m

    IssuesMinor incident
    Affected components
    pypi.org - Backendspypi.org - CDNpypi.org - General
    1. June 8, 2024 at 1:43 PM UTCidentified

      We will be performing database maintenance including version upgrades and storage re-configuration. This will result in several brief outages for the service.

    2. June 8, 2024 at 1:58 PM UTCmonitoring

      Underlying upgrades are complete, we are running database statistics updates to optimize performance.

    3. June 8, 2024 at 2:26 PM UTCmonitoring

      We are in the final steps of the upgrade and should see performance and availability stabilize in the next 30 minutes.

    4. June 8, 2024 at 2:42 PM UTCmonitoring

      All upgrade steps are complete and performance is stabilizing. A final maintenance task is taking place in the background which will minimally impact performance until it is complete.

    5. June 8, 2024 at 2:52 PM UTCresolved

      All maintenance is complete and telemetry around database and application performance have stabilized. This incident is complete.

    Outage in python.org and us.pycon.org

    Started June 5, 2024 at 3:38 PM UTC · 27m

    OutageCritical incident
    Affected components
    us.pycon.orgpython.org - Backends
    1. June 5, 2024 at 3:38 PM UTCidentified

      An outage in our infrastructure is impacting availability of us.pycon.org and python.org

    2. June 5, 2024 at 3:57 PM UTCmonitoring

      A cascading failure due to an expired certificate led to this outage. The certificate has been expired and systems are coming back online.

    3. June 5, 2024 at 4:05 PM UTCresolved

      This incident has been resolved.