PyPy 8.0 brings Python 3.12 beta support, better RPython code generation, and drops HPy

PyPy 8.0 brings Python 3.12 beta support, better RPython code generation, and drops HPy

The PyPy development team has announced the release of PyPy 8.0, marking a significant milestone as the first version to support Python 3.12, albeit in beta quality. Alongside Python 3.12, the distribution continues to support Python 2.7 and Python 3.11, catering to both legacy projects and modern codebases. The major version bump from 7.x to 8.0 reflects substantial architectural changes undertaken during the development cycle, with the team cautioning that Python 3.12 support may still harbor bugs as it reaches its initial implementation stage.

Several technical shifts define this release. Most notably, the project dropped its internal HPy backend, a handle-based approach that failed to gain sufficient traction within the broader Python community to establish itself as a standard. While the code remains available as an optional build toggle, its deactivation signals a pragmatic pivot away from underutilized experimental features. On the engineering front, PyPy introduced improvements to its RPython code generation pipeline, including computed gotos and more aggressive inlining to streamline the base interpreter's execution. Though performance gains were modest, the added source code annotations mapping generated C back to original RPython sources should aid future optimization efforts. The team also revived a clang-based utility called pyhdrdump to compare PyPy's headers against CPython's, aiding compatibility maintenance.

PyPy maintains its cross-platform ambitions, supporting architectures ranging from Windows 32-bit and Linux ARM to niche systems like RISC-V RV64IMAFD and s390x. However, official binary releases are limited, with downstream packagers covering Debian, Fedora, Conda, and various BSD and Linux distributions. The project continues to solicit sponsorship for additional platform binaries while welcoming new contributors across bug fixes, documentation, and JIT enhancements. Users interested in adopting Python 3.12's latest features through PyPy's renowned JIT compilation can now test the beta, with the team encouraging feedback.

by Paul

Add as a preferred source on Google
MORE ABOUT: #PyPy
PyPy iconPyPy
  11
  • Free
  • Open Source
  • ...

PyPy is an interpreter for the Python programming language, built on the RPython compiler framework for dynamic language implementations. It supports object-oriented programming and is designed to be highly flexible and efficient. PyPy aims to improve Python's execution speed and memory usage, making it a practical choice for developers seeking enhanced performance in Python applications.

No comments so far, maybe you want to be first?
Gu