PyPy

Initial releasemid 2007; 17 years ago (2007)
Stable release
7.3.17[1] Edit this on Wikidata (28 August 2024; 2 months ago (28 August 2024))
Repository
Written inRPython
Operating systemCross-platform
TypePython interpreter and compiler toolchain
LicenseMIT
Websitepypy.org Edit this on Wikidata

PyPy (/ˈpp/) is an implementation of the Python programming language.[2] PyPy often runs faster than the standard implementation CPython because PyPy uses a just-in-time compiler.[3] Most Python code runs well on PyPy except for code that depends on CPython extensions, which either does not work or incurs some overhead when run in PyPy.

PyPy itself is built using a technique known as meta-tracing, which is a mostly automatic transformation that takes an interpreter as input and produces a tracing just-in-time compiler as output. Since interpreters are usually easier to write than compilers, but run slower, this technique can make it easier to produce efficient implementations of programming languages. PyPy's meta-tracing toolchain is called RPython.

PyPy does not have full compatibility with more recent versions of the CPython ecosystem. While it claims compatibility with Python 2.7, 3.7, 3.8 and 3.9 ("a drop-in replacement for CPython"), it lacks some of the newer features and syntax in Python 3.10, such as syntax for pattern matching.[4]

  1. ^ "PyPy v7.3.17 release". Retrieved 20 September 2024.
  2. ^ "Interview Maciej Fijalkowski PyPy". 29 November 2015.
  3. ^ "PyPy Speed". speed.pypy.org. Retrieved 2019-12-01.
  4. ^ "PEP 634 -- Structural Pattern Matching: Specification". Python.org. Retrieved 2021-02-15.