# PyPy

> Python programming language's interpreter and just-in-time compiler

**Wikidata**: [Q1143023](https://www.wikidata.org/wiki/Q1143023)  
**Wikipedia**: [English](https://en.wikipedia.org/wiki/PyPy)  
**Source**: https://4ort.xyz/entity/pypy

## Summary
PyPy is an open-source, just-in-time (JIT) compiler for the Python programming language, designed to improve performance by compiling Python code to machine code at runtime.

## Key Facts
- PyPy is an open-source implementation of the Python programming language, licensed under the MIT License.
- It was first released in 2002 and is maintained by the Software Freedom Conservancy until August 2020.
- PyPy is cross-platform, capable of running on multiple operating systems including Linux, macOS, and Windows.
- It is a just-in-time (JIT) compiler, meaning it compiles Python code to machine code at runtime to enhance performance.
- The latest stable version as of the provided data is 7.3.5 (released May 2021).
- PyPy is implemented using RPython, a language based on Python.
- Its source code is hosted on GitHub, with the preferred repository being https://github.com/pypy/pypy.

## FAQs
### Q: What is PyPy and what is it used for?
A: PyPy is an open-source just-in-time (JIT) compiler for the Python programming language, designed to improve performance by compiling Python code to machine code at runtime.

### Q: Is PyPy open source?
A: Yes, PyPy is open-source software licensed under the MIT License.

### Q: What operating systems does PyPy support?
A: PyPy is cross-platform and runs on multiple operating systems, including Linux, macOS, and Windows.

### Q: What is the difference between PyPy and CPython?
A: PyPy is a just-in-time (JIT) compiler for Python, while CPython is the standard, reference implementation of Python using an interpreter. PyPy aims to provide faster execution for long-running Python applications.

## Why It Matters
PyPy addresses a key limitation of the standard CPython interpreter: its relatively slower performance for long-running applications. By using a just-in-time (JIT) compiler, PyPy compiles Python bytecode to native machine code at runtime, significantly improving execution speed—often 2-10 times faster for certain workloads. This makes PyPy particularly valuable for data-intensive tasks, scientific computing, and applications requiring high performance, such as web servers, data analysis tools, and machine learning frameworks. Its open-source nature and cross-platform compatibility have made it a popular alternative to CPython for developers seeking speed without sacrificing Python's ease of use.

## Notable For
- PyPy is a just-in-time (JIT) compiler for Python, distinguishing it from CPython's interpreter-based approach.
- It is implemented using RPython, a language derived from Python, which allows for ahead-of-time compilation of Python code.
- PyPy is licensed under the permissive MIT License, enabling widespread adoption and modification.
- It is cross-platform, supporting multiple operating systems without requiring platform-specific modifications.
- The project has maintained a stable release cycle, with major versions (e.g., 5.0, 6.0, 7.0) released between 2016 and 2021, each incorporating performance improvements and new features.

## Body
### Overview
PyPy is an open-source, just-in-time (JIT) compiler for the Python programming language. It was first released in 2002 and is designed to improve the performance of Python applications by compiling Python code to machine code at runtime. Unlike the standard CPython interpreter, which executes Python code line by line, PyPy uses a JIT to optimize frequently executed code paths, leading to faster execution for long-running tasks.

### Technical Details
PyPy's implementation relies on RPython, a language based on Python that is designed to be compiled ahead of time. This allows PyPy to generate efficient machine code for Python programs. The JIT compiler in PyPy works by first interpreting Python code, then identifying and compiling hot paths (frequently executed code) into native machine code. This process reduces the overhead of interpreting code repeatedly, resulting in significant performance gains.

### Development and Community
PyPy is developed by a community of contributors and is maintained by the Software Freedom Conservancy until August 2020. The project's source code is hosted on GitHub, with the preferred repository being https://github.com/pypy/pypy. Development is managed through a blog (PyPy Status Blog) that announces releases and updates. The project is cross-platform, with ports available for Linux, macOS, Windows, FreeBSD, OpenBSD, Fedora, Gentoo, Ubuntu, Arch Linux, Alpine Linux, and Docker.

### Compatibility
PyPy is compatible with multiple Python versions, including 2.7, 3.5, 3.6, 3.7, and 3.8 (as of the latest stable version 7.3.5). It supports standard Python libraries and is often used as a drop-in replacement for CPython in applications requiring higher performance. The project maintains a stable release cycle, with each major version (e.g., 5.0, 6.0, 7.0) including bug fixes, performance improvements, and support for newer Python features.

### Performance
PyPy's JIT compilation is its primary differentiator, as it allows for faster execution of Python code compared to CPython. Benchmarks show that PyPy can be 2-10 times faster than CPython for certain workloads, particularly those involving loops and data processing. This performance advantage makes PyPy a popular choice for applications such as web servers, data analysis tools, and scientific computing, where speed is critical.

```json
{
  "@context": "https://schema.org",
  "@type": "Thing",
  "name": "PyPy",
  "description": "An open-source, just-in-time (JIT) compiler for the Python programming language, designed to improve performance by compiling Python code to machine code at runtime.",
  "url": "https://pypy.org/",
  "sameAs": ["https://www.wikidata.org/wiki/Q1551807", "https://en.wikipedia.org/wiki/PyPy"],
  "additionalType": "Command-line interpreter"
}

## References

1. [The pypy Open Source Project on Open Hub: Languages Page. Open Hub](https://www.openhub.net/p/pypy/analyses/latest/languages_summary)
2. [PyPy Status Blog: PyPy 5.0 released. 2016](http://morepypy.blogspot.com/2016/03/pypy-50-released.html)
3. [PyPy Status Blog: PyPy 5.4.1 bugfix released. 2016](https://morepypy.blogspot.de/2016/09/pypy-541-bugfix-released.html)
4. [PyPy Status Blog: PyPy2.7 and PyPy3.5 v5.10 dual release. 2017](https://morepypy.blogspot.com.es/2017/12/pypy27-and-pypy35-v510-dual-release.html)
5. [PyPy Status Blog: PyPy2.7 and PyPy3.5 v6.0 dual release. 2018](https://morepypy.blogspot.de/2018/04/pypy27-and-pypy35-v60-dual-release.html)
6. [PyPy Status Blog: PyPy v7.0.0: triple release of 2.7, 3.5 and 3.6-alpha. 2019](https://morepypy.blogspot.com/2019/02/pypy-v700-triple-release-of-27-35-and.html)
7. [PyPy Status Blog: PyPy 7.1.1 Bug Fix Release. 2019](https://morepypy.blogspot.com/2019/04/pypy-711-bug-fix-release.html)
8. [PyPy v7.2 released. 2019](https://morepypy.blogspot.com/2019/10/pypy-v72-released.html)
9. [PyPy 7.3.3 triple release: python 3.7, 3.6, and 2.7. 2020](https://morepypy.blogspot.com/2020/11/pypy-733-triple-release-python-37-36.html)
10. [PyPy v7.3.4: release of python 2.7 and 3.7. 2021](https://www.pypy.org/posts/2021/04/pypy-v734-release-of-python-27-and-37.html)
11. [PyPy v7.3.5: bugfix release of python 2.7 and 3.7. 2021](https://www.pypy.org/posts/2021/05/pypy-v735-release.html)
12. [PyPy v7.3.7: bugfix release of python 3.7 and 3.8. 2021](https://www.pypy.org/posts/2021/10/pypy-v737-release.html)
13. [PyPy v7.3.6: release of python 2.7, 3.7, and 3.8. 2021](https://www.pypy.org/posts/2021/10/pypy-v736-release.html)
14. [PyPy v7.3.8: release of python 2.7, 3.7, 3.8, and 3.9. 2022](https://www.pypy.org/posts/2022/02/pypy-v738-release.html)
15. [Source](https://www.pypy.org/posts/2022/03/pypy-v738-release.html)
16. [PyPy v7.3.10 release. 2022](https://www.pypy.org/posts/2022/12/pypy-v7310-release.html)
17. [Source](https://www.pypy.org/posts/2022/12/pypy-v7311-release.html)
18. [Source](https://www.pypy.org/posts/2023/09/pypy-v7313-release.html)
19. [Source](https://www.pypy.org/posts/2023/12/pypy-v7314-release.html)
20. [PyPy v7.3.15 release](https://www.pypy.org/posts/2024/01/pypy-v7315-release.html)
21. [PyPy v7.3.16 release](https://www.pypy.org/posts/2024/04/pypy-v7316-release.html)
22. [Release 1.5. 2011](https://github.com/pypy/pypy/releases/tag/release-1.5)
23. [Release 1.6. 2011](https://github.com/pypy/pypy/releases/tag/release-1.6)
24. [Release 1.7. 2011](https://github.com/pypy/pypy/releases/tag/release-1.7)
25. [Release 2.3. 2014](https://github.com/pypy/pypy/releases/tag/release-2.3)
26. [Release 2.3.1. 2014](https://github.com/pypy/pypy/releases/tag/release-2.3.1)
27. [Release 2.5.0. 2015](https://github.com/pypy/pypy/releases/tag/release-2.5.0)
28. [Release 2.5.1. 2015](https://github.com/pypy/pypy/releases/tag/release-2.5.1)
29. [Release 2.6.0. 2015](https://github.com/pypy/pypy/releases/tag/release-2.6.0)
30. [Release 2.6.1. 2015](https://github.com/pypy/pypy/releases/tag/release-2.6.1)
31. [Release 4.0.0. 2015](https://github.com/pypy/pypy/releases/tag/release-4.0.0)
32. [Release 4.0.1. 2015](https://github.com/pypy/pypy/releases/tag/release-4.0.1)
33. [Release 5.0.1. 2016](https://github.com/pypy/pypy/releases/tag/release-5.0.1)
34. [Release 5.1. 2016](https://github.com/pypy/pypy/releases/tag/release-5.1)
35. [Release 5.1.1. 2016](https://github.com/pypy/pypy/releases/tag/release-5.1.1)
36. [Release 5.1.2. 2016](https://github.com/pypy/pypy/releases/tag/release-5.1.2)
37. [PyPy v7.3.17 release](https://pypy.org/posts/2024/08/pypy-v7317-release.html)
38. [PyPy v7.3.19 release](https://pypy.org/posts/2025/02/pypy-v7319-release.html)
39. [PyPy v7.3.20 release](https://pypy.org/posts/2025/07/pypy-v7320-release.html)
40. [Source](https://sfconservancy.org/projects/current/)
41. [Source](https://sfconservancy.org/news/2020/aug/12/pypy-transition/)
42. Freebase Data Dumps. 2013
43. [PyPy has moved to Git, GitHub. 2023](https://www.pypy.org/posts/2023/12/pypy-moved-to-git-github.html)
44. Quora
45. [Source](https://gitweb.gentoo.org/repo/gentoo.git/commit/dev-python/pypy-bin?id=901b46a8ea2a0b1b0171f84b4d3e44616be79085)