Skip to content
Snippets Groups Projects
Commit ce992f79 authored by Armin Rigo's avatar Armin Rigo
Browse files

Start writing a "features" page, with a summary of the main features

and then sections regrouping sandbox.txt and more.txt.
parent c1910731
No related branches found
No related tags found
No related merge requests found
......@@ -5,6 +5,7 @@
section_data = {
'code': [
('Home', 'index.html'),
('Features', 'features.html'),
('Download', 'download.html'),
('Compatibility', 'compat.html'),
('Performance', 'http://speed.pypy.org'),
......
......@@ -189,7 +189,7 @@
.. _SSE2: http://en.wikipedia.org/wiki/SSE2
.. _`ctypes`: http://www.python.org/doc/2.5.4/lib/module-ctypes.html
.. _`contact us`: http://codespeak.net/mailman/listinfo/pypy-dev
.. _`sandboxing`: sandbox.html
.. _`sandboxing`: features.html#sandboxing
.. _`stackless`: http://www.stackless.com/
.. _`greenlets`: http://codespeak.net/svn/greenlet/trunk/doc/greenlet.txt
.. _`pypy-1.2.0.tar.bz2`: binaries/pypy-1.2.0.tar.bz2
......
---
layout: page
title: Features
---
Main features
===========================================================
PyPy implements Python language version 2.5. It supports all of the core
language, passing Python test suite (with minor modifications that were
already accepted in main python in newer versions). It supports most
of commonly used Python standard library modules. For known differences
with CPython, see our `compatibility`_ page.
PyPy runs essentially only on Intel `x86 (IA-32)`_. On 64-bit platforms
you have to use the 32-bit compatibility mode, for now -- or `contact us`_
to help!
.. _`compatibility`: compat.html
.. _`x86 (IA-32)`: http://en.wikipedia.org/wiki/IA-32
.. _`contact us`: http://codespeak.net/mailman/listinfo/pypy-dev
Sandboxing
===================
PyPy's *sandboxing* is a working prototype for the idea of running untrusted
user programs. Unlike other sandboxing approaches for Python, PyPy's does not
try to limit language features considered "unsafe". Instead we replace all
calls to external libraries (C or platform) with a stub that communicates
with an external process handling the policy.
To run the sandboxed process, get a `sandboxed pypy-c`_ and run::
pypy_interact.py pypy-c-sandbox
To read more about its features, go to `our dev site`_.
.. _`sandboxed pypy-c`: download.html#sandboxed-version
.. _`our dev site`: http://codespeak.net/pypy/dist/pypy/doc/sandbox.html
Other features
===========================================================
PyPy has many secondary features and semi-independent
projects. We will mention here:
* **the .NET backend:** you get a version of ``pypy-c`` that runs
natively in the .NET/CLI VM. Of particular interest is `the cli-jit
branch,`_ in which you can make a version of ``pypy-c`` which also
contains a high-level JIT compiler (it compiles your Python programs
Just in Time into CLR bytecodes, which are in turn compiled natively
by the VM).
* **the Java backend:** PyPy can run on the Java VM, but more
care is needed to finish this project. Writing a backend for our
high-level JIT compiler would be excellent. `Contact us!`_
* **Other languages:** available in a `separate part of the repository`_,
we implemented other languages too: Prolog_ (almost complete), as
well as Smalltalk, JavaScript, Io, Scheme and Gameboy.
.. _`the cli-jit branch,`: http://codespeak.net/svn/pypy/branch/cli-jit/
.. _`contact us!`: http://codespeak.net/mailman/listinfo/pypy-dev
.. _`separate part of the repository`: http://codespeak.net/svn/pypy/lang/
.. _Prolog: http://codespeak.net/svn/pypy/lang/prolog
......@@ -34,9 +34,9 @@
.. _`Python`: http://python.org/
.. _`faster`: http://speed.pypy.org/
.. _`(What is a JIT compiler?)`: http://en.wikipedia.org/wiki/Just-in-time_compilation
.. _`run untrusted code`: sandbox.html
.. _`run untrusted code`: features.html#sandboxing
.. _`very compliant`: compat.html
.. _`Python docs`: http://www.python.org/doc/2.5.4/
.. _`twisted`: http://twistedmatrix.com/
.. _`django`: http://www.djangoproject.com/
.. _`ctypes`: http://www.python.org/doc/2.5.4/lib/module-ctypes.html
......@@ -38,8 +38,8 @@
.. _`very compliant`: compat.html
.. _`Python docs`: http://www.python.org/doc/2.5.4/
.. _`twisted`: http://twistedmatrix.com/
.. _`django`: http://www.djangoproject.com/
.. _`ctypes`: http://www.python.org/doc/2.5.4/lib/module-ctypes.html
.. _`other features`: more.html
.. _`other features`: features.html
.. _`less space`: http://morepypy.blogspot.com/2009/10/gc-improvements.html
.. _Compatibility: compat.html
---
layout: page
title: More features
---
Other features
===========================================================
PyPy has many secondary features and semi-independent
projects. We will mention here:
* **the .NET backend:** you get a version of ``pypy-c`` that runs
natively in the .NET/CLI VM. Of particular interest is `the cli-jit
branch,`_ in which you can make a version of ``pypy-c`` which also
contains a high-level JIT compiler (it compiles your Python programs
Just in Time into CLR bytecodes, which are in turn compiled natively
by the VM).
* **the Java backend:** PyPy can run on the Java VM, but more
care is needed to finish this project. Writing a backend for our
high-level JIT compiler would be excellent. `Contact us!`_
* **Other languages:** available in a `separate part of the repository`_,
we implemented other languages too: Prolog_ (almost complete), as
well as Smalltalk, JavaScript, Io, Scheme and Gameboy.
.. _`the cli-jit branch,`: http://codespeak.net/svn/pypy/branch/cli-jit/
.. _`contact us!`: http://codespeak.net/mailman/listinfo/pypy-dev
.. _`separate part of the repository`: http://codespeak.net/svn/pypy/lang/
.. _Prolog: http://codespeak.net/svn/pypy/lang/prolog/trunk
---
layout: page
title: Sandboxing
---
PyPy's *sandboxing* is a working prototype for the idea of running untrusted
user programs. Unlike other sandboxing approaches for Python, PyPy's does not
try to limit language features considered "unsafe". Instead we replace all
calls to external libraries (C or platform) with a stub that communicates
with an external process handling the policy.
To run the sandboxed process, get a `sandboxed pypy-c`_ and run::
pypy_interact.py pypy-c-sandbox
To read more about its features, go to `our dev site`_.
.. _`sandboxed pypy-c`: download.html#sandboxed-version
.. _`our dev site`: http://codespeak.net/pypy/dist/pypy/doc/sandbox.html
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment