Welcome to PyPy¶
The PyPy project aims to produce a flexible and fast Python implementation. This page documents the development of the PyPy project itself. If you don’t know what PyPy is, consult the PyPy website. If you just want to use PyPy, consult the download page and the getting started with pypy documents. If you want to help develop PyPy – keep reading!
PyPy is written in a language called RPython, which is suitable for writing dynamic language interpreters (and not much else). RPython is a subset of Python and is itself written in Python. If you’d like to learn more about RPython, Starting with RPython should provide a reasonable overview.
If you would like to contribute to PyPy, please read how to contribute first. PyPy’s development style is somewhat different to that of many other software projects and it often surprises newcomers. What is not necessary is an academic background from university in writing compilers – much of it does not apply to PyPy any way.
All of the documentation and source code is available under the MIT license, unless otherwise specified. Consult LICENSE
Index of various topics:¶
- Getting started: how to install and run the PyPy Python interpreter
- FAQ: some frequently asked questions.
- Release 2.4.0: the latest official release
- PyPy Blog: news and status info about PyPy
- Papers: Academic papers, talks, and related projects
- speed.pypy.org: Daily benchmarks of how fast PyPy is
- potential project ideas: In case you want to get your feet wet...
- more stuff: this is a collection of documentation that’s there, but not particularly organized
Documentation for the PyPy Python Interpreter¶
New features of PyPy’s Python Interpreter and Translation Framework:
- Differences between PyPy and CPython
- What PyPy can do for your objects - transparent proxy documentation
- Continulets and greenlets - documentation about stackless features
- JIT Generation in PyPy
- JIT hooks
- Sandboxing Python code
- Garbage collection environment variables
Mailing lists, bug tracker, IRC channel¶
- Development mailing list: development and conceptual discussions.
- Mercurial commit mailing list: updates to code and documentation.
- Development bug/feature tracker: filing bugs and feature requests.
- IRC channel #pypy on freenode: Many of the core developers are hanging out at #pypy on irc.freenode.net. You are welcome to join and ask questions (if they are not already developed in the FAQ). You can find logs of the channel here.
Meeting PyPy developers¶
The PyPy developers are organizing sprints and presenting results at conferences all year round. They will be happy to meet in person with anyone interested in the project. Watch out for sprint announcements on the development mailing list.