Source

pypy / pypy / doc / __pypy__-module.rst

David Malcolm 1e46012 











































=======================
The ``__pypy__`` module
=======================

The ``__pypy__`` module is the main entry point to special features provided
by PyPy's standard interpreter. Its content depends on `configuration options`_ 
which may add new functionality and functions whose existence or non-existence 
indicates the presence of such features. 

.. _`configuration options`: config/index.html

Generally available functionality
=================================

 - ``internal_repr(obj)``: return the interpreter-level representation of an
   object.
 - ``bytebuffer(length)``: return a new read-write buffer of the given length.
   It works like a simplified array of characters (actually, depending on the
   configuration the ``array`` module internally uses this).

Transparent Proxy Functionality
===============================

If `transparent proxies`_ are enabled (with :config:`objspace.std.withtproxy`)
the following functions are put into ``__pypy__``:

 - ``tproxy(typ, controller)``: Return something that looks like it is of type
   typ. Its behaviour is completely controlled by the controller. See the docs
   about `transparent proxies`_ for detail.

 - ``get_tproxy_controller(obj)``: If obj is really a transparent proxy, return
   its controller. Otherwise return None.

.. _`transparent proxies`: objspace-proxies.html#tproxy


Functionality available on py.py (not after translation)
========================================================

 - ``isfake(obj)``: returns True if ``obj`` is faked.

 - ``interp_pdb()``: start a pdb at interpreter-level.
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.