Configuration Options for PyPy

This directory contains documentation for the many configuration options that can be used to affect PyPy's behaviour. There are two main classes of option, object space options and translation options.

There are two main entry points that accept options: py.py, which implements Python on top of another Python interpreter and accepts all the object space options:

./py.py <objspace options>


and the translate.py translation entry point which takes arguments of this form:

./translate.py <translation options> <target>


For the common case of <target> being targetpypystandalone.py, you can then pass the object space options after targetpypystandalone.py, i.e. like this:

./translate.py <translation options> targetpypystandalone.py <objspace options>


There is an overview of all command line arguments that can be passed in either position.

Many of the more interesting object space options enable optimizations, which are described in Standard Interpreter Optimizations, or allow the creation of objects that can barely be imagined in CPython, which are documented in What PyPy can do for your objects.

The following diagram gives some hints about which PyPy features work together with which other PyPy features:

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.