Newer
Older
<head>
<title>PyPy :: PyPy</title>
<meta http-equiv="content-language" content="en" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="author" content="PyPy Team" />
<meta name="description" content="PyPy" />
<meta name="copyright" content="MIT" />
<meta name="document-rating" content="general" />
<link rel="stylesheet" type="text/css" media="screen" title="default" href="css/site.css" />
<link rel="alternate" type="application/rss+xml" title="RSS Feed for PyPy" href="http://feeds.feedburner.com/PyPyStatusBlog" />
<script type="text/javascript" src="http://use.typekit.com/hdt8sni.js"></script>
<script type="text/javascript">try{Typekit.load();}catch(e){}</script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="js/detect.js"></script>
</head>
<body>
<script type="text/javascript">
var _gaq = [['_setAccount', 'UA-7778406-3'], ['_trackPageview']];
if (document.location.protocol !== 'file:') {
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(ga);
})();
}
</script>
<div id="body-outer"><div id="body-inner"><div id="body" class="clearfix">
<div id="header">
<div id="menu-follow">
<div><a href="http://search.twitter.com/search?q=%23pypy" title="Follow the conversation on Twitter"><img src="http://static.ampify.it/icon.twitter.gif" alt="Follow the conversation on Twitter" width="14px" height="14px" /></a></div>
<div><a href="http://bitbucket.org/pypy/pypy"><img src="http://www.selenic.com/hg-logo/logo-droplets-25.png" width="14px" height="14px" /></a></div>
<div><a href="http://feeds.feedburner.com/PyPyStatusBlog" title="Subscribe to the RSS Feed"><img src="http://static.ampify.it/icon.rss.png" alt="Subscribe to the RSS Feed" width="14px" height="14px" /></a></div>
</div>
<div id="logo"><a href="http://pypy.org"><img src="image/pypy-logo.png" alt="PyPy" height="110px" /></a></div>
<!--
<div id="menu"><ul>
<li><a href="http://dev.ampify.it" py:attrs="menu_class['code']">Code</a></li>
</ul></div>
-->
<hr class="clear-left" />
<div id="menu-sub"><a href="index.html">Home</a><span class="menu-sub-sep"> | </span><a href="features.html">Features</a><span class="menu-sub-sep"> | </span><a href="download.html">Download</a><span class="menu-sub-sep"> | </span><a href="compat.html">Compatibility</a><span class="menu-sub-sep"> | </span><a href="http://speed.pypy.org">Performance</a><span class="menu-sub-sep"> | </span><a href="http://codespeak.net/pypy/trunk/pypy/doc/index.html">Dev Site</a><span class="menu-sub-sep"> | </span><a href="http://morepypy.blogspot.com">Blog</a><span class="menu-sub-sep"> | </span><a href="contact.html">Contact</a></div>
<hr class="clear" />
</div>
<div id="content">
<div>
<div id="main">
<h1 class="title">PyPy</h1>
<p>PyPy is a <a class="reference external" href="compat.html">very compliant</a> implementation of the <a class="reference external" href="http://python.org/">Python</a> language.
PyPy has several advantages and distinctive features:</p>
<blockquote>
<ul class="simple">
<li><strong>Speed:</strong> thanks to its Just-in-Time compiler, Python programs
often run <a class="reference external" href="http://speed.pypy.org/comparison/?exe=2%2B35,1%2B172&ben=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20&env=1&hor=false&bas=2%2B35&chart=normal+bars">faster</a> on PyPy. <a class="reference external" href="http://en.wikipedia.org/wiki/Just-in-time_compilation">(What is a JIT compiler?)</a></li>
<li><strong>Memory usage:</strong> large, memory-hungry Python programs might end up
taking <a class="reference external" href="http://morepypy.blogspot.com/2009/10/gc-improvements.html">less space</a> than they do in CPython.</li>
<li><strong>Sandboxing:</strong> PyPy provides the ability to <a class="reference external" href="features.html#sandboxing">run untrusted code</a> in a
fully secure way.</li>
<li><strong>Stackless:</strong> PyPy can be configured to run in <a class="reference external" href="http://www.stackless.com/">stackless</a> mode,
providing micro-threads for massive concurrency.</li>
<li>As well as other <a class="reference external" href="features.html">features</a>.</li>
</ul>
</blockquote>
<p class="download"><a class="reference external" href="download.html">Download and try out the PyPy release 1.4.1!</a></p>
<p>To read more about Python, look into <a class="reference external" href="http://www.python.org/doc/2.5.4/">Python docs</a> and check our
<a class="reference external" href="compat.html">Compatibility</a> page. PyPy can run such python libraries as <a class="reference external" href="http://twistedmatrix.com/">twisted</a>
and <a class="reference external" href="http://www.djangoproject.com/">django</a> and supports <a class="reference external" href="http://www.python.org/doc/2.5.4/lib/module-ctypes.html">ctypes</a>.</p>
</div>
<div id="sidebar">
<ul>
<li>
<div class="sidepic">
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick" />
<input type="hidden" name="hosted_button_id" value="J268ZTLRE2BW8" />
<input type="image" src="https://www.paypal.com/en_US/i/btn/btn_donateCC_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!" />
<img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1" />
</form>
</div>
</li>
<li>
<div class="sidepic">
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<script type="text/javascript">
function validateAmount(amount){
if(amount.value.match( /^[0-9]+(\.([0-9]+))?$/)){
return true;
}else{
alert('You must enter a valid donation.');
amount.focus();
return false;
}
}
</script>
<form action="https://checkout.google.com/cws/v2/Donations/622836985124940/checkoutForm" id="BB_BuyButtonForm" method="post" name="BB_BuyButtonForm" onSubmit="return validateAmount(this.item_price_1)" target="_top">
<input name="item_name_1" type="hidden" value="PyPy Directed Donation via Software Freedom Conservancy, Inc." />
<input name="item_description_1" type="hidden" value="This is a donation to the Software Freedom Conservancy, Inc. The donation will be directed for the PyPy project." />
<input name="item_quantity_1" type="hidden" value="1" />
<input name="item_currency_1" type="hidden" value="USD" />
<input name="item_is_modifiable_1" type="hidden" value="true" />
<input name="item_min_price_1" type="hidden" value="5.0" />
<input name="item_max_price_1" type="hidden" value="25000.0" />
<input name="_charset_" type="hidden" value="utf-8" />
<table cellpadding="5" cellspacing="0" width="1%">
<tr>
<td align="right" nowrap="nowrap" width="1%">$ <input id="item_price_1" name="item_price_1" onfocus="this.style.color='black'; this.value='';" size="11" style="color:grey;" type="text" value="Enter Amount" />
</td>
<td align="left" width="1%">
<input alt="Donate" src="https://checkout.google.com/buttons/donateNow.gif?merchant_id=622836985124940&w=115&h=50&style=white&variant=text&loc=en_US" type="image" />
</td>
</tr>
</table>
</form>
</div>
</li>
<li>
<div class="sidepic">
<a id="main_download" href="download.html">Download PyPy</a>
</div>
</li>
</ul>
</div>
</div>
</div>
</div></div></div>
</body>