<p>PyPy implements the Python language version 2.7.3. It supports all of the core
<p>PyPy implements the Python language version 2.7.6. It supports all of the core
language, passing Python test suite (with minor modifications that were
already accepted in the main python in newer versions). It supports most
of the commonly used Python <aclass="reference external"href="http://docs.python.org/library/">standard library modules</a>; details below.</p>
<p>PyPy has <strong>alpha/beta-level</strong> support for the <aclass="reference external"href="http://docs.python.org/c-api/">CPython C API</a>, however, as of
...
...
@@ -49,8 +49,9 @@
language, passing Python test suite (with minor modifications that were
already accepted in the main python in newer versions). It supports most
of the commonly used Python <aclass="reference external"href="http://docs.python.org/library/">standard library modules</a>; details below.</p>
<p>PyPy has <strong>alpha/beta-level</strong> support for the <aclass="reference external"href="http://docs.python.org/c-api/">CPython C API</a>, however, as of
2.2 release this feature is not yet complete. Many libraries will require
2.3 release this feature is not yet complete. We strongly advise use of <aclass="reference external"href="http://cffi.readthedocs.org/">CFFI</a>
instead. CFFI come builtin with PyPy. Many libraries will require
a bit of effort to work, but there are known success stories. Check out
PyPy blog for updates, as well as the <aclass="reference external"href="https://bitbucket.org/pypy/compatibility/wiki/Home">Compatibility Wiki</a>.</p>
<p>C extensions need to be recompiled for PyPy in order to work. Depending on
performance improvements. <strong>Note that the OS X nightly builds
(but not the release) are slightly
miscompiled due to buildslave being old. Contributions are welcomed</strong>.</p>
<p>Here are the binaries for the current release — <strong>PyPy 2.2.1</strong> —
(<aclass="reference external"href="http://doc.pypy.org/en/latest/release-2.2.1.html">what's new in PyPy 2.2.1?</a><aclass="reference external"href="http://doc.pypy.org/en/latest/release-2.2.0.html">what's new in PyPy 2.2?</a>)
for x86 and ARM Linux, Mac OS/X, Windows and the older release — <strong>PyPy3 2.1 beta1</strong> — (<aclass="reference external"href="http://doc.pypy.org/en/latest/release-pypy3-2.1.0-beta1.html">what's new in
PyPy3 2.1 beta1?</a>).</p>
<p>Here are the binaries for the current release — <strong>PyPy 2.3</strong> —
(<ahref="#id30"><spanclass="problematic"id="id31">`what's new in PyPy 2.3`_</span></a> )</p>
<p>for x86 and ARM Linux, Mac OS/X, Windows and the older release — <strong>PyPy3 2.1 beta1</strong> —
(<aclass="reference external"href="http://doc.pypy.org/en/latest/release-pypy3-2.1.0-beta1.html">what's new in PyPy3 2.1 beta1?</a>).</p>
<ulclass="download-menu simple">
<li>Download<ul>
<li><aclass="reference internal"href="#default-with-a-jit-compiler">Default (with a JIT Compiler)</a></li>
...
...
@@ -73,7 +73,7 @@
x86 CPUs that have the <aclass="reference external"href="http://en.wikipedia.org/wiki/SSE2">SSE2</a> instruction set (most of
them do, nowadays), or on x86-64 CPUs. They also contain <aclass="reference external"href="http://www.stackless.com/">stackless</a>
extensions, like <aclass="reference external"href="http://codespeak.net/svn/greenlet/trunk/doc/greenlet.txt">greenlets</a>.
(This is the official release 2.2.1;
(This is the official release 2.3;
for the most up-to-date version see below.)</p>
</div>
<divclass="section"id="id1">
...
...
@@ -77,7 +77,7 @@
for the most up-to-date version see below.)</p>
</div>
<divclass="section"id="id1">
<h1>2.2.1</h1>
<h1>2.3</h1>
<p>Note that Linux binaries are dynamically linked, as is usual, and thus might
not be usable due to the sad story of linux binary compatibility. This means
that <strong>Linux binaries are only usable on the distributions written next to
...
...
@@ -89,11 +89,11 @@
degrees of being up-to-date. You may have more chances trying out Squeaky's
<aclass="reference external"href="https://github.com/squeaky-pl/portable-pypy">portable Linux binaries</a>.</p>
<ulclass="simple">
<li><aclass="reference external"href="https://bitbucket.org/pypy/pypy/downloads/pypy-2.2.1-linux.tar.bz2">Linux x86 binary (32bit, tar.bz2 built on Ubuntu 10.04.4 LTS)</a> (see <ttclass="docutils literal">[1]</tt> below)</li>
<li><aclass="reference external"href="https://bitbucket.org/pypy/pypy/downloads/pypy-2.2.1-linux64.tar.bz2">Linux x86 binary (64bit, tar.bz2 built on Ubuntu 12.04.2 LTS)</a> (see <ttclass="docutils literal">[1]</tt> below)</li>
<li><aclass="reference external"href="https://bitbucket.org/pypy/pypy/downloads/pypy-2.2.1-linux-armhf-raspbian.tar.bz2">ARM Hardfloat Linux binary (ARMHF/gnueabihf, tar.bz2, Raspbian)</a> (see <ttclass="docutils literal">[1]</tt> below)</li>
<li><aclass="reference external"href="https://bitbucket.org/pypy/pypy/downloads/pypy-2.2.1-linux-armhf-raring.tar.bz2">ARM Hardfloat Linux binary (ARMHF/gnueabihf, tar.bz2, Ubuntu Raring)</a> (see <ttclass="docutils literal">[1]</tt> below)</li>
<li><aclass="reference external"href="https://bitbucket.org/pypy/pypy/downloads/pypy-2.2.1-linux-armel.tar.bz2">ARM Softfloat Linux binary (ARMEL/gnueabi, tar.bz2, Ubuntu Precise)</a> (see <ttclass="docutils literal">[1]</tt> below)</li>
<li><aclass="reference external"href="https://bitbucket.org/pypy/pypy/downloads/pypy-2.2.1-win32.zip">Windows binary (32bit)</a> (you might need the <aclass="reference external"href="http://www.microsoft.com/en-us/download/details.aspx?id=5582">VS 2008 runtime library
<li><aclass="reference external"href="https://bitbucket.org/pypy/pypy/downloads/pypy-2.3-linux.tar.bz2">Linux x86 binary (32bit, tar.bz2 built on Ubuntu 10.04.4 LTS)</a> (see <ttclass="docutils literal">[1]</tt> below)</li>
<li><aclass="reference external"href="https://bitbucket.org/pypy/pypy/downloads/pypy-2.3-linux64.tar.bz2">Linux x86 binary (64bit, tar.bz2 built on Ubuntu 12.04.2 LTS)</a> (see <ttclass="docutils literal">[1]</tt> below)</li>
<li><aclass="reference external"href="https://bitbucket.org/pypy/pypy/downloads/pypy-2.3-linux-armhf-raspbian.tar.bz2">ARM Hardfloat Linux binary (ARMHF/gnueabihf, tar.bz2, Raspbian)</a> (see <ttclass="docutils literal">[1]</tt> below)</li>
<li><aclass="reference external"href="https://bitbucket.org/pypy/pypy/downloads/pypy-2.3-linux-armhf-raring.tar.bz2">ARM Hardfloat Linux binary (ARMHF/gnueabihf, tar.bz2, Ubuntu Raring)</a> (see <ttclass="docutils literal">[1]</tt> below)</li>
<li><aclass="reference external"href="https://bitbucket.org/pypy/pypy/downloads/pypy-2.3-linux-armel.tar.bz2">ARM Softfloat Linux binary (ARMEL/gnueabi, tar.bz2, Ubuntu Precise)</a> (see <ttclass="docutils literal">[1]</tt> below)</li>
<li><aclass="reference external"href="https://bitbucket.org/pypy/pypy/downloads">All our downloads,</a> including previous versions. We also have a
<aclass="reference external"href="http://cobra.cs.uni-duesseldorf.de/~buildmaster/mirror/">mirror</a>, but please use only if you have troubles accessing the links above</li>
</ul>
...
...
@@ -158,7 +158,7 @@
uncompressed, they run in-place. For now you can uncompress them
either somewhere in your home directory or, say, in <ttclass="docutils literal">/opt</tt>, and
if you want, put a symlink from somewhere like
<ttclass="docutils literal">/usr/local/bin/pypy</tt> to <ttclass="docutils literal"><spanclass="pre">/path/to/pypy-2.2.1/bin/pypy</span></tt>. Do
<ttclass="docutils literal">/usr/local/bin/pypy</tt> to <ttclass="docutils literal"><spanclass="pre">/path/to/pypy-2.3/bin/pypy</span></tt>. Do
not move or copy the executable <ttclass="docutils literal">pypy</tt> outside the tree – put
a symlink to it, otherwise it will not find its libraries.</p>
</div>
...
...
@@ -194,8 +194,8 @@
<li><pclass="first">Get the source code. The following packages contain the source at
the same revision as the above binaries:</p>
<ulclass="simple">
<li><aclass="reference external"href="https://bitbucket.org/pypy/pypy/downloads/pypy-2.2.1-src.tar.bz2">pypy-2.2.1-src.tar.bz2</a> (sources, Unix line endings)</li>
<li><aclass="reference external"href="https://bitbucket.org/pypy/pypy/downloads/pypy-2.2.1-src.zip">pypy-2.2.1-src.zip</a> (sources, Unix line endings too, sorry)</li>
<li><aclass="reference external"href="https://bitbucket.org/pypy/pypy/downloads/pypy-2.3-src.tar.bz2">pypy-2.3-src.tar.bz2</a> (sources, Unix line endings)</li>
<li><aclass="reference external"href="https://bitbucket.org/pypy/pypy/downloads/pypy-2.3-src.zip">pypy-2.3-src.zip</a> (sources, Unix line endings too, sorry)</li>
</ul>
<p>Or you can checkout the current trunk using <aclass="reference external"href="http://mercurial.selenic.com/">Mercurial</a> (the trunk
usually works and is of course more up-to-date):</p>
...
...
@@ -264,15 +264,15 @@
<h1>Checksums</h1>
<p>Here are the checksums for each of the downloads (md5 and sha1):</p>
<p><strong>PyPy 2.2</strong> implements <strong>Python 2.7.3</strong> and runs on Intel
<p><strong>PyPy 2.3</strong> implements <strong>Python 2.7.6</strong> and runs on Intel
<aclass="reference external"href="http://en.wikipedia.org/wiki/IA-32">x86 (IA-32)</a> , <aclass="reference external"href="http://en.wikipedia.org/wiki/X86_64">x86_64</a> and <aclass="reference external"href="http://en.wikipedia.org/wiki/ARM">ARM</a> platforms, with PPC being
stalled. It supports all of the core language, passing the Python test suite
(with minor modifications that were already accepted in the main python
...
...
@@ -95,18 +95,6 @@
<p>PyPy has many secondary features and semi-independent
projects. We will mention here:</p>
<ul>
<li><pclass="first"><strong>the .NET backend:</strong> There was a backend for building a native pypy
for the .NET/CLI VM. Of particular interest was <aclass="reference external"href="https://bitbucket.org/pypy/pypy/src/cli-jit">the cli-jit
branch</a>, in which you could make a version of <ttclass="docutils literal"><spanclass="pre">pypy-net</span></tt> which also
contains a high-level JIT compiler (it compiled your Python programs
Just in Time into CLR bytecodes). The code of this backend is very
old by now and would require serious work to get back into a working
state. If you would like to tackle this project, please <aclass="reference external"href="contact.html">Contact us</a>!</p>
</li>
<li><pclass="first"><strong>the Java backend:</strong> 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. <aclass="reference external"href="contact.html">Contact us</a>!</p>
</li>
<li><pclass="first"><strong>Other languages:</strong> we also implemented other languages that makes
use of our RPython toolchain: <aclass="reference external"href="https://bitbucket.org/cfbolz/pyrolog/">Prolog</a> (almost complete), as
well as <aclass="reference external"href="https://bitbucket.org/pypy/lang-smalltalk/">Smalltalk</a>, <aclass="reference external"href="https://bitbucket.org/pypy/lang-js/">JavaScript</a>, <aclass="reference external"href="https://bitbucket.org/pypy/lang-io/">Io</a>, <aclass="reference external"href="https://bitbucket.org/pypy/lang-scheme/">Scheme</a> and <aclass="reference external"href="https://bitbucket.org/pypy/lang-gameboy/">Gameboy</a>.</p>
...
...
@@ -110,7 +98,8 @@
<li><pclass="first"><strong>Other languages:</strong> we also implemented other languages that makes
use of our RPython toolchain: <aclass="reference external"href="https://bitbucket.org/cfbolz/pyrolog/">Prolog</a> (almost complete), as
well as <aclass="reference external"href="https://bitbucket.org/pypy/lang-smalltalk/">Smalltalk</a>, <aclass="reference external"href="https://bitbucket.org/pypy/lang-js/">JavaScript</a>, <aclass="reference external"href="https://bitbucket.org/pypy/lang-io/">Io</a>, <aclass="reference external"href="https://bitbucket.org/pypy/lang-scheme/">Scheme</a> and <aclass="reference external"href="https://bitbucket.org/pypy/lang-gameboy/">Gameboy</a>.</p>
<p>There is also a Ruby implementation called <aclass="reference external"href="http://topazruby.com/">Topaz</a>.</p>
<p>There is also a Ruby implementation called <aclass="reference external"href="http://topazruby.com/">Topaz</a> and a PHP implementation
called <aclass="reference external"href="http://www.hippyvm.com/">HippyVM</a>.</p>
<p>PyPy is a <aclass="reference external"href="http://speed.pypy.org/">fast</a>, <aclass="reference external"href="compat.html">compliant</a> alternative implementation of the <aclass="reference external"href="http://python.org/">Python</a>
language (2.7.3 and 3.2.3). It has several advantages and distinct features:</p>
language (2.7.6 and 3.2.3). It has several advantages and distinct features:</p>
<blockquote>
<ulclass="simple">
<li><strong>Speed:</strong> thanks to its Just-in-Time compiler, Python programs
...
...
@@ -63,7 +63,7 @@
<li>As well as other <aclass="reference external"href="features.html">features</a>.</li>
</ul>
</blockquote>
<pclass="download"><aclass="reference external"href="download.html">Download and try out the PyPy release 2.2.1 or the PyPy3 2.1 beta1!</a></p>
<pclass="download"><aclass="reference external"href="download.html">Download and try out the PyPy release 2.3 or the PyPy3 2.1 beta1!</a></p>
<p>Want to know more? A good place to start is our detailed <aclass="reference external"href="http://speed.pypy.org/">speed</a> and