[Distutils] Working toward Linux wheel support

M.-A. Lemburg mal at egenix.com
Fri Aug 21 10:03:47 CEST 2015

On 21.08.2015 08:51, Nick Coghlan wrote:
> On 21 August 2015 at 05:58, Robert Collins <robertc at robertcollins.net> wrote:
>> On 21 August 2015 at 07:25, Donald Stufft <donald at stufft.io> wrote:
>>> On August 20, 2015 at 3:23:09 PM, Daniel Holth (dholth at gmail.com) wrote:
>>>> If you need that for some reason just put the longer information in the
>>>> metadata, inside the WHEEL file for example. Surely "does it work on my
>>>> system" dominates, as opposed to "I have a wheel with this mnemonic tag,
>>>> now let me install debian 5 so I can get it to run".
>>> It’s less about “now let me install Debian 5” and more like tooling that doesn’t run *on* the platform but which needs to make decisions based on what platform a wheel is built for.
>> Cramming that into the file name is a mistake IMO.

Agreed. IMO, the file name should really just be a hint
to what's in the box and otherwise just serve the main
purpose of being unique for whatever the platform
needs are.

You might be interested in the approach we've chosen for our
prebuilt packages when used with our Python package web installer:

Instead of parsing file names, we use a tag file for each
package, which maps a set of tags to the URLs of the distribution

The web installer takes care of determining the right distribution
file to download by looking at those tags, not be looking at the
file name.

Since tags are very flexible, and, most importantly, extensible,
this approach has allowed us to add new differentiations to the
system without changing the basic architecture.

Here's a talk on the installer architecture I gave at PyCon UK 2014:


This architecture was born out of the need to support more
platforms than eggs, wheels, etc. currently support. We had previously
tried to use the file name approach and get setuptools to play
along, but this failed. The prebuilt distribution files still
use a variant of this to make the file names uniques, but we've
stopped putting more energy into getting those to work with
setuptools, since the tags allow for a much more flexible approach
than file names.

We currently support Windows, Linux, FreeBSD and Mac OS X.

Marc-Andre Lemburg

Professional Python Services directly from the Source  (#1, Aug 21 2015)
>>> Python Projects, Coaching and Consulting ...  http://www.egenix.com/
>>> mxODBC Plone/Zope Database Adapter ...       http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
2015-08-19: Released mxODBC 3.3.5 ...             http://egenix.com/go82
2015-08-22: FrOSCon 2015 ...                                    tomorrow

::::: Try our mxODBC.Connect Python Database Interface for free ! ::::::

   eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
    D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
           Registered at Amtsgericht Duesseldorf: HRB 46611

More information about the Distutils-SIG mailing list