[Catalog-sig] [Distutils] accept the wheel PEPs 425, 426, 427

Vinay Sajip vinay_sajip at yahoo.co.uk
Fri Nov 16 19:05:35 CET 2012

Daniel Holth <dholth <at> gmail.com> writes:

> The Bento author has his own informed opinions about the  way packaging should
> work which do not necessarily include the packaging PEPs.

That's all well and good, but there needs to be a common infrastructure for
interoperability, which is what the PEPs are about. Bento has ploughed its own
furrow because of the difficulty of extending distutils. But packaging seems to
be an area when a particular approach can't succeed (other than in a niche)
without some level of consensus; setuptools, it seems, managed it because it was
number one in a field of one.

I've seen you being complementary about Bento's beautiful design, but I haven't
been able to find enough documentation about this design to allow me to make my
own assessment. I've looked at the documentation linked to from the GitHub home
of the project, which leads to http://bento.readthedocs.org - is that the most
current documentation?

I found myself generally in agreement with that documentation when it refers to
the drawbacks of distutils and "why Bento". However, details on the design
itself seem a little too light to make an assessment about "how Bento". For
example, I get the sense that Bento's main focus is on building packages rather
than installing them (which is fine, since that's the harder part, particularly
when you are working with complex packages like numpy and scipy). However, I
can't for example see how you would configure compiler options. Of course the
source is available and I've cloned it to have a look, but those kind of things
are in "bento/private" and "bento/backends" and it's not really clear what
public APIs might look like. Of course one of the problems with distutils was
under-documentation, leading to everything being regarded as "public API", and
we know where that's led. The heavy lifting in Bento seems to be in something
called "yaku", to which I see only passing references in the Bento
documentation and not much apart a README on the yaku GitHub page.

I'm probably being dense, so I'd be grateful if you'd share how you arrived at
your very positive assessment of the quality of Bento's design: was it by
grokking the source, or is there some documentation I've missed?

Just to be clear: I've nothing at all against Bento, I'm just trying to
understand how it's put together.


Vinay Sajip

More information about the Catalog-SIG mailing list