Yesterday, PyPy 7.0 was announced in a blog post. It is a triple release for different Python versions. PyPy is a compliant Python interpreter which can be considered a replacement for CPython 2.7, 3.5, and 3.6. It’s faster due to the integrated tracing JIT compiler. The release supports x86 machines with common OSes, PPC64, and s390x running Linux. Since the ARM buildbots are out of service currently, binaries for ARM architecture will not be released.
PyPy 7.0 includes the following interpreters.
- PyPy2.7 is an interpreter with support for syntax and features of Python 2.7 which will lose official support next year.
- PyPy3.5, supports the stable Python 3.5
- PyPy3.6-alpha which is the first official PyPy release supporting 3.6 features.
All of the three interpreters share a similar codebase allowing this triple release. Until packages can be distributed downstream, wheel (whl) packages are available for some common packages.
GC hooks has been improved. It’s now possible to manage the GC by using a combination of gc.disable and gc.collect_step manually.
The cffi module included in PyPy has been updated to version 1.12. The cppyy backend is also updated to version 1.4. For a JIT friendly experience, use the new versions to wrap your C and C++ code.
PyPy 7.0 is fully compatible with the previous version. Several issues and bugs raised by the PyPy community have been addressed.
PyPy3 and Windows PyPy3.5 releases are not yet up to quality to be used in production. There are open issues and the compatibility is not complete.
The utf8 branch to change the internal representation of unicode to utf8 will be added in one of the future releases.