Welcome to PyPy’s documentation!¶
Welcome to the documentation for PyPy, a fast, compliant alternative implementation of the Python language.
- If you want to find out more about what PyPy is, have a look at our What is PyPy? or consult the PyPy website.
- If you’re interested in trying PyPy out, check out the installation instructions.
- If you want to help develop PyPy, please have a look at contributing and at the repo on https://github.com/pypy/pypy and get in touch (Contact)!
All of the documentation and source code is available under the MIT license, unless otherwise specified. Consult LICENSE.
Getting Started¶
Using PyPy¶
- Differences between PyPy and CPython
- Differences related to garbage collection strategies
- Missing
sys.getrefcount
- Subclasses of built-in types
- Mutating classes of objects which are already used as dictionary keys
- Ignored exceptions
- Object Identity of Primitive Values,
is
andid
- Permitted ABI tags in extensions
- C-API Differences
- Performance Differences
- Miscellaneous
- Extension modules
- Writing extension modules for pypy
- Garbage collector documentation and configuration
- JIT hooks
- Resetting the JIT
- Application-level Stackless features
- The
__pypy__
module - PyPy’s sandboxing features
- Software Transactional Memory
Development¶
- Contributing Guidelines
- PyPy’s Configuration Handling
- Potential Project List
- Getting involved
- Simple tasks for newcomers
- Mid-to-large tasks
- Explicit typing in RPython
- Make bytearray type fast
- Implement copy-on-write list slicing
- NumPy rebooted
- Improving the jitviewer
- Convert RPython to Python3
- Improve performance
- Improve warmup
- Translation Toolchain
- Various GCs
- STM (Software Transactional Memory)
- Introduce new benchmarks
- Interfacing with C
- Project Documentation
- Source Code Documentation
- PyPy’s Release Process
Further resources¶
Contact¶
- #pypy on irc.libera.chat
- Many of the core developers are hanging out here. You are welcome to join and ask questions (if they are not already answered in the FAQ). You can find logs of the channel here.
- Development mailing list
- Development and conceptual discussions
- Commit mailing list
- Updates to code and documentation
- Development bug/feature tracker
- Filing bugs and feature requests
- 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.
Twitter handle #pypyproject
Watch us on twitch