🌐
PyPy
pypy.org
PyPy
A fast, compliant alternative implementation of Python Download PyPy What is PyPy ? Documentation (external link) On average, PyPy is about 3 times faster than CPython 3.11. We currently
Python programming language's interpreter and just-in-time compiler
PyPy (/ˈpaɪpaɪ/) is an implementation of the Python programming language. PyPy frequently runs much faster than the standard implementation CPython because PyPy uses a just-in-time compiler. Most Python code runs well on … Wikipedia
Factsheet
Initial release mid 2007; 19 years ago (2007)
Stable release 7.3.20 (4 July 2025; 9 months ago (4 July 2025))
Written in RPython
Factsheet
Initial release mid 2007; 19 years ago (2007)
Stable release 7.3.20 (4 July 2025; 9 months ago (4 July 2025))
Written in RPython
🌐
GitHub
github.com › pypy › pypy
GitHub - pypy/pypy: PyPy is a very fast and compliant implementation of the Python language. · GitHub
PyPy is an interpreter that implements the Python programming language, based on the RPython compiler framework for dynamic language implementations.
Starred by 1.7K users
Forked by 109 users
Languages   Python 94.2% | C 5.2% | C++ 0.3% | HTML 0.2% | Makefile 0.1% | Shell 0.0%
Discussions

python - PyPy: What is all the buzz about? - Stack Overflow
Note: The title is deliberately provocative (to make you click on it and want to close-vote the question) and I don't want to look preoccupied. I've been reading and hearing more and more about Py... More on stackoverflow.com
🌐 stackoverflow.com
Does anyone actually use PyPy or Cython?
FYI these two things aren’t really comparable. PyPy is a runtime, basically an alternative to the “standard” python interpreter (aka cpython) most people would have installed by default. There are other runtimes, like Jython (runs python code in the Java virtual machine), etc. In theory they can all run your python code, with some low level caveats and differences in performance. Cython is a language, like python but with additional support for C types and such to enable writing more performant code in specific circumstances, usually when running on the standard/cpython interpreter. Both are used in production, but only when needed - if you’re doing yourself, “should I use this?” the answer is probably no. (Same goes for me) More on reddit.com
🌐 r/Python
66
78
March 31, 2024
python - PyPy not finding packages - Stack Overflow
I'm relatively new to coding, this is my first Stack Overflow question! I recently installed PyPy. It works fine if the code I'm running doesn't import much. But when my code tries to import, e.g.,... More on stackoverflow.com
🌐 stackoverflow.com
PyPy the unknown Hero.
How ?? Is that really true?? More on reddit.com
🌐 r/django
9
44
July 31, 2024
🌐
GitHub
github.com › reingart › pypy
GitHub - reingart/pypy: clone of https://bitbucket.org/pypy/pypy (Python in Python Implementation)
PyPy is both an implementation of the Python programming language, and an extensive compiler framework for dynamic language implementations.
Starred by 2 users
Forked by 5 users
Languages   Python 94.1% | Objective-C 2.7% | C 2.2% | C++ 0.5% | Assembly 0.3% | HTML 0.2% | Python 94.1% | Objective-C 2.7% | C 2.2% | C++ 0.5% | Assembly 0.3% | HTML 0.2%
Top answer
1 of 5
47

Good thing to be aware when talking about the PyPy project is that it aims to actually provide two deliverables: first is JIT compiler generator. Yes, generator, meaning that they are implementing a framework for writing implementations of highly dynamic programming languages, such as Python. The second one is the actual test of this framework, and is the PyPy Python interpreter implementation.

Now, there are multiple answers why PyPy is so special: the project development is running from 2004, started as a research project rather than from a company, reimplements Python in Python, implements a JIT compiler in Python, and can translate RPython (Python code with some limitations for the framework to be able to translate that code to C) to compiled binary.

The current version of PyPy is 99% compatible with CPython version 2.5, and can run Django, Twisted and many other Python programs. There used to be a limitation of not being able to run existing CPython C extensions, but that is also being addressed with cpyext module in PyPy. C API compatibility is possible and to some extent already implemented. JIT is also very real, see this pystone comparison.

With CPython:

Python 2.5.5 (r255:77872, Apr 21 2010, 08:44:16) 
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from test import pystone
>>> pystone.main(1000000)
Pystone(1.1) time for 1000000 passes = 12.28
This machine benchmarks at 81433.2 pystones/second

With PyPy:

Python 2.5.2 (75632, Jun 28 2010, 14:03:25)
[PyPy 1.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
And now for something completely different: ``A radioactive cat has 18
half-lives.''
>>>> from test import pystone
>>>> pystone.main(1000000)
Pystone(1.1) time for 1000000 passes = 1.50009
This machine benchmarks at 666625 pystones/second

So you can get a nearly 10x speedup just by using PyPy on some calculations!

So, as PyPy project is slowly maturing and offering some advantages, it is attracting more interest from people trying to address speed issues in their code. An alternative to PyPy is unladden swallow (a Google project) which aims to speed up CPython implementation by using LLVM's JIT capabilities, but progress on unladden swallow was slowed because the developer needed to deal with bugs in LLVM.

So, to sum it up, I guess PyPy is regarded the future of Python because it's separating language specification from VM implementation. Features introduced in, eg. stackless Python, could then be implemented in PyPy with very little extra effort, because it's just altering language specification and you keep the shared code the same. Less code, less bugs, less merging, less effort.

And by writing, for example, a new bash shell implementation in RPython, you could get a JIT compiler for free and speed up many linux shell scripts without actually learning any heavy JIT knowledge.

2 of 5
22

Lets see it this way... Suppose you want to implement your own dynamic language, and you want to make it fast. You have two options: the hard way and pypy.

The hard way means writing your interpreter in c, and then implement a jit by hand, also in c, by using a mix of very complicated techniques such a method-jit, threaded-jit, tracing jit, polymorphic inline caches, loop invariant motion, etc, etc... Spent several years tuning it up and if you persevere a lot and you don't give up, you may end up with a fast dynamic language implementation.

Or, you can use the pypy framework. That means, writing your interpreter in python instead of c (actually, it would be rpython, a more limited subset of python that can be compiled to c). Once you wrote your interpreter, pypy will automatically generate a jit for free. And you are basically done.

Sounds good, huh?

🌐
Pypyjs
pypyjs.org
PyPy.js
PyPy.js is an experiment in building a fast and compliant python environment for the web.
Find elsewhere
🌐
Quora
quora.com › What-is-the-difference-between-Python-and-PyPy
What is the difference between Python and PyPy? - Quora
Answer (1 of 4): Pypy is one of several implementations of the Python programming language, but I suppose what you’re really asking is what are the differences between Pypy and CPython, the most popular Python implementation.
🌐
ArchWiki
wiki.archlinux.org › title › PyPy
PyPy - ArchWiki
PyPy is an alternate implementation of the Python 2.7 and 3.11 interpreters. PyPy's benefits are in the area of speed, memory usage, sandboxing and stacklessness. It is compatible with CPython with some exceptions.
🌐
Wikipedia
en.wikipedia.org › wiki › PyPy
PyPy - Wikipedia
January 6, 2026 - PyPy (/ˈpaɪpaɪ/) is an implementation of the Python programming language. PyPy frequently runs much faster than the standard implementation CPython because PyPy uses a just-in-time compiler.
🌐
Medium
medium.com › tag › pypy
The most insightful stories about Pypy - Medium
October 24, 2025 - Read stories about Pypy on Medium. Discover smart, unique perspectives on Pypy and the topics that matter most to you like Python, Cpython, Programming, Jython, Performance, Cython, Python Programming, Python3, Jit, and more.
🌐
Python
downloads.python.org › pypy
PyPy Releases
BuildBot (0.8.8) working for the PyPy project.
🌐
Python
wiki.python.org › moin › PyPy
PyPy - Python Wiki
PyPy is a Python implementation in Python.
🌐
Architecture of Open Source Applications
aosabook.org › en › v2 › pypy.html
The Architecture of Open Source Applications (Volume 2)PyPy
PyPy, except for a negligible number of C stubs, is written completely in Python. The PyPy source tree contains two major components: the Python interpreter and the RPython translation toolchain. The Python interpreter is the programmer-facing runtime that people using PyPy as a Python ...
🌐
GitHub
github.com › pypy
PyPy · GitHub
PyPy is a very fast and compliant implementation of the Python language.
🌐
Hacker News
news.ycombinator.com › item
> Right now, PyPy is probable the biggest reason why many users don't migrate to... | Hacker News
August 10, 2016 - Does PyPy have that many users · For actual real world apps with a lot of IO, your PyPy benefit is kinda small
🌐
Ecosyste
packages.ecosyste.ms › registries › pypi.org › keywords › pypy
pypy | pypi.org keywords | Ecosyste.ms: Packages
A light-weight modular mail delivery framework for Python 2.7+, 3.3+, Pypy, and Pypy3.
🌐
ActiveState
activestate.com › home › resources › quick read › how to install and work with pypy
How to install and work with PyPy - ActiveState
January 9, 2025 - PyPy (not to be confused with the Python Package Index, which is abbreviated PyPI) is an open source, alternative implementation of the Python programming language.
🌐
Hacker News
news.ycombinator.com › item
> PyPy is a fantastic achievement and deserves far more support than it gets PyP... | Hacker News
1 month ago - PyPy is a toy for getting great numbers in benchmarks and demos, is incompatible in a zillion critical ways, and is basically useless for large-scale development for anything that has to interoperate with "real" Python · Literally everyone who's ever tried it has the experience that you mock ...