[Python-Dev] "setuptools has divided the Python community"

Tres Seaver tseaver at palladion.com
Wed Mar 25 16:34:43 CET 2009


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Antoine Pitrou wrote:
> Tarek Ziadé <ziade.tarek <at> gmail.com> writes:
>> But I agree that the sizes of the packages are too small now, and it has gone
>> to far. Installing a web app like Plone is scary (+100 packages)
> 
> I am working on a TurboGears2-based app and I just did a count of the .egg
> packages in the virtualenv. There are 45 of them....
> 
> People should really stop splitting their work into micro-libraries (with such
> ludicrous names as "AddOns" or "Extremes", I might add (*)), and myriads of
> separately-packaged plugins (the repoze stuff). The Twisted approach is much
> saner, where you have a cohesive whole in a single package.

Monoliths have downsides:  consider that fact that the WSGI-complieant
HTTP server for Twisted languished for *years* outside the released
versions of Twisted:  IIRC, the server was released as a separate
distribution, but it was not compatible with the released versions of
the main Twisted distribution:  you had to install a snapshot / alpha of
Twisted to get the 'web2' server to work.

Repoze ships a number of pieces which may not be interesting to all users:

 - repoze.bfg is a web-application framework, loosely Zope-like, which
   reuses a fairly small subset of the Zope libraries.

 - repoze.who is an web authentication framework, which can be used
   in conjunction with *any* web application which respsects at least
   the REMOTE_USER key in the WSGI environment.  TurboGears is now
   using this piece, even though they don't use any other repoze.*
   packages.

 - The various "middleware" packages are tiny, conherent, and
   can be used ad libidem in a WSGI pipeline.

WSGI itself, like Unix pipes, favors composition of smaller pieces via a
simple API:  a given deployment can add stuff like profiling, etc. just
be adding a new "layer" in the pipeline.  Putting the profiler into a
larger package would make it less likely to be used across frameworks.


Tres.
- --
===================================================================
Tres Seaver          +1 540-429-0999          tseaver at palladion.com
Palladion Software   "Excellence by Design"    http://palladion.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFJyk8T+gerLs4ltQ4RAiVkAKCJbtyDpYYww30P2SupovVTNx39jgCgtPBF
XUEJbfXz5LHqBgpHs+hXrqk=
=cNYq
-----END PGP SIGNATURE-----



More information about the Python-Dev mailing list