After further discussion, and after consideration and incorporation of the
feedback received and appreciated, here is the third draft of the Debian
Python Policy change for limited support of wheels.  Thanks to everyone who
helped shape this change and participated in the discussion.

I think we're now ready to land all the necessary changes.  I'll take care of
uploading what I can, and submitting updated patches for those I cannot.

Cheers,
-Barry

=== modified file 'debian/python-policy.sgml'
--- debian/python-policy.sgml   2014-05-12 10:21:25 +0000
+++ debian/python-policy.sgml   2014-05-20 15:31:20 +0000
@@ -32,7 +32,11 @@
         <name>Scott Kitterman</name>
        <email>sc...@kitterman.com</email>
       </author>
-      <version>version 0.9.5</version>
+      <author>
+        <name>Barry Warsaw</name>
+        <email>ba...@debian.org</email>
+      </author>
+      <version>version 0.9.6</version>
 
       <abstract>
        This document describes the packaging of Python within the
@@ -468,6 +472,45 @@
          programs included in the same package.
        </p>
       </sect>
+      <sect id="wheels">
+        <heading>Wheels</heading>
+        <p>
+          <url id="http://legacy.python.org/dev/peps/pep-0427/";
+               name="PEP 427">
+          defines a built-package format called "wheels", which is a zip
+          format archive containing Python code and a "dist-info" metadata
+          directory, in a single file named with the .whl suffix.  As zip
+          files, wheels containing pure-Python can be put on sys.path and
+          modules in the wheel can be imported directly by Python's "import"
+          statement. (Importing extension modules from wheels is not yet
+          supported as of Python 3.4.)
+        </p><p>
+          In general, packages must not build or provide wheels.  They are
+          redundant to the established way of providing Python libraries to
+          Debian users, take no advantage of distro-based tools, and are less
+          convenient to use.  E.g. they must be explicitly added to sys.path,
+          cannot be easily grepped, and stack traces through zips are more
+          difficult to debug.
+        </p><p>
+          A very limited set of wheel packages are available in the archive,
+          but these support the narrow purpose of providing the Python 3
+          built-in virtual environment creation
+          executable <prgn>pyvenv-3.x</prgn>, as well as the
+          within-venv <prgn>pip</prgn> executable, in a Debian policy
+          compliant way.  The set of packages providing wheels for this
+          purpose are (by source package name): chardet, distlib, html5lib,
+          python-colorama, python-setuptools, python-urllib3, requests, six,
+          urllib3.
+        </p><p>
+          Wheel packages supporting <prgn>pyvenv</prgn> and <prgn>pip</prgn>
+          are named with the <var>python-</var> prefix, and the <var>-whl</var>
+          suffix, e.g. <package>python-chardet-whl</package>.  When these
+          binary packages are installed, their .whl files must be placed in
+          the /usr/share/python-wheels directory.  Such wheels must be built
+          with the <tt>--universal</tt> flag so as to generate wheels
+          compatible with both Python 2 and Python 3.
+        </p>
+      </sect>
       <sect id="package_names">
        <heading>Module Package Names</heading>
        <p>

Attachment: signature.asc
Description: PGP signature

Reply via email to