[pypy-commit] pypy.org extradoc: remove stm, py3k donation pages, update compatibility a bit

mattip pypy.commits at gmail.com
Thu Dec 28 02:09:49 EST 2017


Author: Matti Picus <matti.picus at gmail.com>
Branch: extradoc
Changeset: r911:55c8463bf7f9
Date: 2017-12-28 09:09 +0200
http://bitbucket.org/pypy/pypy.org/changeset/55c8463bf7f9/

Log:	remove stm, py3k donation pages, update compatibility a bit

diff --git a/archive.html b/archive.html
--- a/archive.html
+++ b/archive.html
@@ -57,9 +57,6 @@
         <span class="menu-sub-sep"> | </span>
       <a href="contact.html">Contact</a>
         <br />
-      <a href="py3donate.html">Py3k donations</a>
-        <span class="menu-sub-sep"> | </span>
-      <a href="tmdonate2.html">STM donations</a>
     </div>
 	<hr class="clear" />
 </div>
diff --git a/compat.html b/compat.html
--- a/compat.html
+++ b/compat.html
@@ -57,9 +57,6 @@
         <span class="menu-sub-sep"> | </span>
       <a href="contact.html">Contact</a>
         <br />
-      <a href="py3donate.html">Py3k donations</a>
-        <span class="menu-sub-sep"> | </span>
-      <a href="tmdonate2.html">STM donations</a>
     </div>
 	<hr class="clear" />
 </div>
@@ -71,12 +68,11 @@
 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 <a class="reference external" href="http://docs.python.org/library/">standard library modules</a>; details below.</p>
-<p>(PyPy3 implements the Python language version 3.5.3.  It is beta right now,
-and it is quite possible that a few things are missing.  The rest of this
-document only describes the situation of the 2.7.x implementation.)</p>
+<p>PyPy3 implements the Python language version 3.5.3.  It has been released,
+but Python is a large language and it is quite possible that a few things are missing.</p>
 <p class="download-menu"><a class="reference external" href="http://packages.pypy.org">List of installable top 1000 PyPI packages</a></p>
-<p>PyPy has <strong>alpha/beta-level</strong> support for the <a class="reference external" href="http://docs.python.org/c-api/">CPython C API</a>, however,
-this feature is not yet complete. We strongly advise use of <a class="reference external" href="http://cffi.readthedocs.org/">CFFI</a>
+<p>PyPy has support for the <a class="reference external" href="http://docs.python.org/c-api/">CPython C API</a>, however there are constructs
+that are <cite>not compatible</cite>.  We strongly advise use of <a class="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 <a class="reference external" href="https://bitbucket.org/pypy/compatibility/wiki/Home">Compatibility Wiki</a>.</p>
@@ -106,16 +102,17 @@
 <li>pyglet</li>
 <li>Pillow (the PIL fork)</li>
 <li><a class="reference external" href="https://github.com/amauryfa/lxml/tree/cffi/">lxml</a></li>
+<li>NumPy</li>
 </ul>
 <p>The main difference that is not going to be fixed is that PyPy does
 not support refcounting semantics. The following code won't fill the
 file immediately, but only after a certain period of time, when the GC
 does a collection:</p>
-<div class="syntax python"><pre><span class="nb">open</span><span class="p">(</span><span class="s">"filename"</span><span class="p">,</span> <span class="s">"w"</span><span class="p">)</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">"stuff"</span><span class="p">)</span><br/></pre></div>
+<div class="syntax python"><pre><span></span><span class="nb">open</span><span class="p">(</span><span class="s2">"filename"</span><span class="p">,</span> <span class="s2">"w"</span><span class="p">)</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s2">"stuff"</span><span class="p">)</span><br/></pre></div>
 <p>The proper fix is</p>
-<div class="syntax python"><pre><span class="n">f</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="s">"filename"</span><span class="p">,</span> <span class="s">"w"</span><span class="p">)</span><br/><span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">"stuff"</span><span class="p">)</span><br/><span class="n">f</span><span class="o">.</span><span class="n">close</span><span class="p">()</span><br/></pre></div>
+<div class="syntax python"><pre><span></span><span class="n">f</span> <span class="o">=</span> <span class="nb">open</span><span class="p">(</span><span class="s2">"filename"</span><span class="p">,</span> <span class="s2">"w"</span><span class="p">)</span><br/><span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s2">"stuff"</span><span class="p">)</span><br/><span class="n">f</span><span class="o">.</span><span class="n">close</span><span class="p">()</span><br/></pre></div>
 <p>or using the <tt class="docutils literal">with</tt> keyword</p>
-<div class="syntax python"><pre><span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="s">"filename"</span><span class="p">,</span> <span class="s">"w"</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span><br/>    <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s">"stuff"</span><span class="p">)</span><br/></pre></div>
+<div class="syntax python"><pre><span></span><span class="k">with</span> <span class="nb">open</span><span class="p">(</span><span class="s2">"filename"</span><span class="p">,</span> <span class="s2">"w"</span><span class="p">)</span> <span class="k">as</span> <span class="n">f</span><span class="p">:</span><br/>    <span class="n">f</span><span class="o">.</span><span class="n">write</span><span class="p">(</span><span class="s2">"stuff"</span><span class="p">)</span><br/></pre></div>
 <p>The same problem–not closing your files–can also show up if your
 program opens a large number of files without closing them explicitly.
 In that case, you can easily hit the system limit on the number of file
@@ -129,7 +126,7 @@
 <p>Similarly, remember that you must <tt class="docutils literal">close()</tt> a non-exhausted
 generator in order to have its pending <tt class="docutils literal">finally</tt> or <tt class="docutils literal">with</tt>
 clauses executed immediately:</p>
-<div class="syntax python"><pre><span class="k">def</span> <span class="nf">mygen</span><span class="p">():</span><br/>    <span class="k">with</span> <span class="n">foo</span><span class="p">:</span><br/>        <span class="k">yield</span> <span class="mi">42</span><br/><br/><span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">mygen</span><span class="p">():</span><br/>    <span class="k">if</span> <span class="n">x</span> <span class="o">==</span> <span class="mi">42</span><span class="p">:</span><br/>        <span class="k">break</span>    <span class="c"># foo.__exit__ is not run immediately!</span><br/><br/><span class="c"># fixed version:</span><br/><span class="n">gen</span> <span class="o">=</span> <span class="n">mygen</span><span class="p">()</span><br/><span class="k">try</span><span class="p">:</span><br/>    <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">gen</span><span class="p">:</span><br/>        <span class="k">if</span> <span class="n">x</span> <span class="o">==</span> <span class="mi">42</span><span class="p">:</span><br/>            <span class="k">break</span><br/><span class="k">finally</span><span class="p">:</span><br/>    <span class="n">gen</span><span class="o">.</span><span class="n">close</span><span class="p">()</span><br/></pre></div>
+<div class="syntax python"><pre><span></span><span class="k">def</span> <span class="nf">mygen</span><span class="p">():</span><br/>    <span class="k">with</span> <span class="n">foo</span><span class="p">:</span><br/>        <span class="k">yield</span> <span class="mi">42</span><br/><br/><span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">mygen</span><span class="p">():</span><br/>    <span class="k">if</span> <span class="n">x</span> <span class="o">==</span> <span class="mi">42</span><span class="p">:</span><br/>        <span class="k">break</span>    <span class="c1"># foo.__exit__ is not run immediately!</span><br/><br/><span class="c1"># fixed version:</span><br/><span class="n">gen</span> <span class="o">=</span> <span class="n">mygen</span><span class="p">()</span><br/><span class="k">try</span><span class="p">:</span><br/>    <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">gen</span><span class="p">:</span><br/>        <span class="k">if</span> <span class="n">x</span> <span class="o">==</span> <span class="mi">42</span><span class="p">:</span><br/>            <span class="k">break</span><br/><span class="k">finally</span><span class="p">:</span><br/>    <span class="n">gen</span><span class="o">.</span><span class="n">close</span><span class="p">()</span><br/></pre></div>
 <p>More generally, <tt class="docutils literal">__del__()</tt> methods are not executed as predictively
 as on CPython: they run “some time later” in PyPy (or not at all if
 the program finishes running in the meantime).  See <a class="reference external" href="http://pypy.readthedocs.org/en/latest/cpython_differences.html#differences-related-to-garbage-collection-strategies">more details
diff --git a/contact.html b/contact.html
--- a/contact.html
+++ b/contact.html
@@ -57,9 +57,6 @@
         <span class="menu-sub-sep"> | </span>
       <a href="contact.html">Contact</a>
         <br />
-      <a href="py3donate.html">Py3k donations</a>
-        <span class="menu-sub-sep"> | </span>
-      <a href="tmdonate2.html">STM donations</a>
     </div>
 	<hr class="clear" />
 </div>
diff --git a/don2.html b/don2.html
--- a/don2.html
+++ b/don2.html
@@ -1,7 +1,7 @@
 <ul>
   <li>
-    <a href="#" onclick="stm_donate(); return false;">Donate towards STM in pypy</a><br/>
-    <a href="#" onclick="py3k_donate(); return false;">Donate towards py3k in pypy</a><br/>
+    <!-- <a href="#" onclick="stm_donate(); return false;">Donate towards STM in pypy</a><br/> -->
+    <!-- <a href="#" onclick="py3k_donate(); return false;">Donate towards py3k in pypy</a><br/> -->
     <a href="#" onclick="general_donate(); return false;"><b>Donate towards general pypy progress</b></a><br/>
     <!-- a href="#" onclick="numpy_donate(); return false;">Donate towards NumPy in pypy</a><br/ --!>
   </li>
diff --git a/download.html b/download.html
--- a/download.html
+++ b/download.html
@@ -57,9 +57,6 @@
         <span class="menu-sub-sep"> | </span>
       <a href="contact.html">Contact</a>
         <br />
-      <a href="py3donate.html">Py3k donations</a>
-        <span class="menu-sub-sep"> | </span>
-      <a href="tmdonate2.html">STM donations</a>
     </div>
 	<hr class="clear" />
 </div>
diff --git a/features.html b/features.html
--- a/features.html
+++ b/features.html
@@ -57,9 +57,6 @@
         <span class="menu-sub-sep"> | </span>
       <a href="contact.html">Contact</a>
         <br />
-      <a href="py3donate.html">Py3k donations</a>
-        <span class="menu-sub-sep"> | </span>
-      <a href="tmdonate2.html">STM donations</a>
     </div>
 	<hr class="clear" />
 </div>
diff --git a/howtohelp.html b/howtohelp.html
--- a/howtohelp.html
+++ b/howtohelp.html
@@ -57,9 +57,6 @@
         <span class="menu-sub-sep"> | </span>
       <a href="contact.html">Contact</a>
         <br />
-      <a href="py3donate.html">Py3k donations</a>
-        <span class="menu-sub-sep"> | </span>
-      <a href="tmdonate2.html">STM donations</a>
     </div>
 	<hr class="clear" />
 </div>
diff --git a/index.html b/index.html
--- a/index.html
+++ b/index.html
@@ -57,9 +57,6 @@
         <span class="menu-sub-sep"> | </span>
       <a href="contact.html">Contact</a>
         <br />
-      <a href="py3donate.html">Py3k donations</a>
-        <span class="menu-sub-sep"> | </span>
-      <a href="tmdonate2.html">STM donations</a>
     </div>
 	<hr class="clear" />
 </div>
diff --git a/js/script2.js b/js/script2.js
--- a/js/script2.js
+++ b/js/script2.js
@@ -21,9 +21,9 @@
 /*
 if (location.href.indexOf("numpydonate.html") >= 0)
     f = numpy_donate;
-*/
 if (location.href.indexOf("py3donate.html") >= 0)
     f = py3k_donate;
 else
+*/
     f = general_donate;
 $(document).ready(f);
diff --git a/numpydonate.html b/numpydonate.html
--- a/numpydonate.html
+++ b/numpydonate.html
@@ -57,9 +57,6 @@
         <span class="menu-sub-sep"> | </span>
       <a href="contact.html">Contact</a>
         <br />
-      <a href="py3donate.html">Py3k donations</a>
-        <span class="menu-sub-sep"> | </span>
-      <a href="tmdonate2.html">STM donations</a>
     </div>
 	<hr class="clear" />
 </div>
diff --git a/people.html b/people.html
--- a/people.html
+++ b/people.html
@@ -57,9 +57,6 @@
         <span class="menu-sub-sep"> | </span>
       <a href="contact.html">Contact</a>
         <br />
-      <a href="py3donate.html">Py3k donations</a>
-        <span class="menu-sub-sep"> | </span>
-      <a href="tmdonate2.html">STM donations</a>
     </div>
 	<hr class="clear" />
 </div>
diff --git a/performance.html b/performance.html
--- a/performance.html
+++ b/performance.html
@@ -57,9 +57,6 @@
         <span class="menu-sub-sep"> | </span>
       <a href="contact.html">Contact</a>
         <br />
-      <a href="py3donate.html">Py3k donations</a>
-        <span class="menu-sub-sep"> | </span>
-      <a href="tmdonate2.html">STM donations</a>
     </div>
 	<hr class="clear" />
 </div>
diff --git a/py3donate.html b/py3donate.html
--- a/py3donate.html
+++ b/py3donate.html
@@ -57,9 +57,6 @@
         <span class="menu-sub-sep"> | </span>
       <a href="contact.html">Contact</a>
         <br />
-      <a href="py3donate.html">Py3k donations</a>
-        <span class="menu-sub-sep"> | </span>
-      <a href="tmdonate2.html">STM donations</a>
     </div>
 	<hr class="clear" />
 </div>
diff --git a/source/_layouts/site.genshi b/source/_layouts/site.genshi
--- a/source/_layouts/site.genshi
+++ b/source/_layouts/site.genshi
@@ -13,8 +13,6 @@
       ('Blog', 'http://morepypy.blogspot.com'),
       ('People', 'people.html'),
       ('Contact', 'contact.html'),
-      ('Py3k donations', 'py3donate.html'),
-      ('STM donations', 'tmdonate2.html'),
       ],
     }
 
diff --git a/source/compat.txt b/source/compat.txt
--- a/source/compat.txt
+++ b/source/compat.txt
@@ -8,16 +8,15 @@
 already accepted in the main python in newer versions). It supports most
 of the commonly used Python `standard library modules`_; details below.
 
-(PyPy3 implements the Python language version 3.5.3.  It is beta right now,
-and it is quite possible that a few things are missing.  The rest of this
-document only describes the situation of the 2.7.x implementation.)
+PyPy3 implements the Python language version 3.5.3.  It has been released,
+but Python is a large language and it is quite possible that a few things are missing.
 
 .. class:: download_menu
 
    `List of installable top 1000 PyPI packages`_
 
-PyPy has **alpha/beta-level** support for the `CPython C API`_, however, 
-this feature is not yet complete. We strongly advise use of `CFFI`_
+PyPy has support for the `CPython C API`_, however there are constructs
+that are `not compatible`.  We strongly advise use of `CFFI`_
 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 `Compatibility Wiki`__.
@@ -62,6 +61,8 @@
 
 * `lxml`_
 
+* NumPy
+
 The main difference that is not going to be fixed is that PyPy does
 not support refcounting semantics. The following code won't fill the
 file immediately, but only after a certain period of time, when the GC
@@ -140,6 +141,7 @@
 
 .. _`CPython C API`: http://docs.python.org/c-api/
 .. _`CFFI`: http://cffi.readthedocs.org/
+.. _`not compatible`: http://doc.pypy.org/en/latest/cpython_differences.html#c-api-differences
 .. _`standard library modules`: http://docs.python.org/library/
 .. _`our dev site`: http://pypy.readthedocs.org/en/latest/cpython_differences.html
 .. _`more details here`: http://pypy.readthedocs.org/en/latest/cpython_differences.html#differences-related-to-garbage-collection-strategies
diff --git a/sponsor.html b/sponsor.html
--- a/sponsor.html
+++ b/sponsor.html
@@ -57,9 +57,6 @@
         <span class="menu-sub-sep"> | </span>
       <a href="contact.html">Contact</a>
         <br />
-      <a href="py3donate.html">Py3k donations</a>
-        <span class="menu-sub-sep"> | </span>
-      <a href="tmdonate2.html">STM donations</a>
     </div>
 	<hr class="clear" />
 </div>
diff --git a/success.html b/success.html
--- a/success.html
+++ b/success.html
@@ -57,9 +57,6 @@
         <span class="menu-sub-sep"> | </span>
       <a href="contact.html">Contact</a>
         <br />
-      <a href="py3donate.html">Py3k donations</a>
-        <span class="menu-sub-sep"> | </span>
-      <a href="tmdonate2.html">STM donations</a>
     </div>
 	<hr class="clear" />
 </div>
diff --git a/tmdonate.html b/tmdonate.html
--- a/tmdonate.html
+++ b/tmdonate.html
@@ -57,9 +57,6 @@
         <span class="menu-sub-sep"> | </span>
       <a href="contact.html">Contact</a>
         <br />
-      <a href="py3donate.html">Py3k donations</a>
-        <span class="menu-sub-sep"> | </span>
-      <a href="tmdonate2.html">STM donations</a>
     </div>
 	<hr class="clear" />
 </div>
diff --git a/tmdonate2.html b/tmdonate2.html
--- a/tmdonate2.html
+++ b/tmdonate2.html
@@ -57,9 +57,6 @@
         <span class="menu-sub-sep"> | </span>
       <a href="contact.html">Contact</a>
         <br />
-      <a href="py3donate.html">Py3k donations</a>
-        <span class="menu-sub-sep"> | </span>
-      <a href="tmdonate2.html">STM donations</a>
     </div>
 	<hr class="clear" />
 </div>


More information about the pypy-commit mailing list