MaintainerPulse
temporal prediction of dependency maintenance riskThe dependency network, colored by risk
Every node is a PyPI package in our universe with at least one dependency link; size is how many other packages depend on it, color is the calibrated probability of shipping no release in the next 12 months. Drag to pan, scroll to zoom, hover for details, click to open a package.
<40%
40–70%
70–90%
≥90%
not scored
Time machine: replay the model's calibrated risk for every package at each historical monthly snapshot, 2018–2025 — watch abandonment spread through the dependency network. Drag the slider to scrub.
Systemic risk: high-risk packages others depend on
Risk ≥ 70% and at least 3 dependents inside the universe. These are the quiet single points of failure.
| package | repo | dependents | risk | |
|---|---|---|---|---|
| aiofiles | Tinche/aiofiles | 34 | 83% | ● high |
| toml | uiri/toml | 34 | 92% | ▲ critical |
| pycryptodome | Legrandin/pycryptodome | 29 | 84% | ● high |
| defusedxml | tiran/defusedxml | 28 | 77% | ● high |
| requests-toolbelt | requests/toolbelt | 23 | 77% | ● high |
| backoff | litl/backoff | 18 | 84% | ● high |
| async-timeout | aio-libs/async-timeout | 17 | 77% | ● high |
| mypy-extensions | python/mypy_extensions | 17 | 82% | ● high |
| requests-mock | jamielennox/requests-mock | 17 | 82% | ● high |
| parameterized | wolever/parameterized | 17 | 86% | ● high |
| pytest-runner | pytest-dev/pytest-runner | 16 | 72% | ● high |
| httpcore | encode/httpcore | 14 | 77% | ● high |
| toolz | pytoolz/toolz | 13 | 72% | ● high |
| future | PythonCharmers/python-future | 13 | 86% | ● high |
| nest-asyncio | erdewit/nest_asyncio | 12 | 86% | ● high |
| pysocks | Anorov/PySocks | 11 | 92% | ▲ critical |
| h11 | python-hyper/h11 | 11 | 77% | ● high |
| deprecation | briancurtin/deprecation | 10 | 98% | ▲ critical |
| bump2version | c4urself/bump2version | 10 | 92% | ▲ critical |
| cached-property | pydanny/cached-property | 9 | 86% | ● high |