uv Now Warns That PyPy May Be Abandoned

MAR 08OPEN SOURCE3 MIN READ15545 COMMENTS

The uv Python package manager shipped a warning in version 0.9.27: PyPy, once a credible alternative to CPython for performance-sensitive Python, should be considered unmaintained. PR #17643, authored by uv contributor konstin, adds the notice when users install PyPy through uv's Python management tooling. There is no official statement from the PyPy project — but the evidence that prompted this change is hard to ignore.

Numpy Dropping PyPy Support

The primary signal is a GitHub issue filed against numpy (#30416) by a PyPy developer themselves, acknowledging that numpy is moving away from PyPy support. Numpy is not a peripheral library. It is a dependency for the majority of scientific Python, and if numpy exits PyPy support, the runtime's practical utility for data-heavy workloads — where it would have offered the most value — drops substantially. The fact that the signal came from within the PyPy project rather than from numpy maintainers making a unilateral decision reads as an internal admission that the project cannot keep pace.

Why PyPy Lost Momentum

PyPy's original value proposition was clear: a JIT-compiled Python runtime that could outperform CPython on CPU-bound pure-Python code by a factor of several times. The compatibility story was always its weak point. C extensions using CPython's internal API do not run natively on PyPy. PyPy maintains its own C API implementation, but coverage was never complete, and the gap widened as CPython's internals evolved through successive major versions. Libraries that worked on PyPy 5 or 6 began failing or degrading silently on later releases. The cost of maintaining PyPy compatibility became a tax that fewer projects were willing to pay.

uv Warning Reaches Developers at the Right Moment

The timing matters because of uv's position in the ecosystem. uv, built by Astral (the same team behind ruff), has become the default Python toolchain for new projects in 2025 and 2026. A warning surfaced in uv reaches developers at precisely the moment they are selecting a Python installation. The PR does not remove PyPy support from uv — uv still fetches and manages PyPy distributions — it ensures that developers are not assuming active maintenance where there may be none.

Alternatives for Performance-Sensitive Python

For teams running PyPy in production, the practical path forward is to audit whether your specific use case still performs as expected on current PyPy builds, and to evaluate alternatives for your performance requirements. CPython's free-threading mode, available in Python 3.13+, addresses the GIL limitations that drove many to PyPy in the first place. GraalPy remains actively developed and covers some of PyPy's original JIT performance territory. The uv warning does not block anything — it is informational. But when tooling used by hundreds of thousands of developers adds a notice that a runtime may be abandoned, the ecosystem signal is worth taking seriously.

// ENGLISH
KEY POINTS:

- uv v0.9.27 adds warning when installing PyPy: runtime may be unmaintained
- Evidence: PyPy developer filed numpy issue #30416 acknowledging PyPy is being dropped
- No official statement from PyPy project; signal came from within the team
- PyPy's C extension compatibility gap widened as CPython internals evolved
- uv still installs PyPy; warning is informational, not a block
- CPython free-threading (Python 3.13+) addresses the GIL issues that motivated PyPy
- GraalPy remains an active JIT alternative for performance-sensitive Python