[Distutils] [Python-Dev] Capsule Summary of Some Packaging/Deployment Technology Concerns
lxander.m at gmail.com
Thu Mar 20 14:50:58 CET 2008
On Wed, Mar 19, 2008 at 6:15 PM, Jeff Rush <jeff at taupro.com> wrote:
> Frankly I'd like to see setuptools exploded, with those parts of general use
> folded back into the standard library, the creation of a set of
> non-implementation-specific documents of the distribution formats and
> behavior, leaving a small core of one implementation of how to do it and the
> door open for others to compete with their own implementation.
If I hazard an opinion seconding this sentiment. In my use of
setuptools, it definitely feels like it wants to be three (mostly)
1) The project that standardizes the concept now embodied by eggs and
provides the basic machinery to work with them (find them, introspect
metadata, "import" them, etc.), but not install them per se. This is
generally useful as common plug-in framework, if nothing else.
Currently, this "run-time support" functionality is in pkg_resources.
2) The tool you can use to build eggs (but not install them per se).
Currently this is the setuptools extension to distutils.
3) The tool for installing eggs (or their equivalent) and (optionally)
their dependencies (optionally using remote hosts) as well as
uninstalling. Currently this is easy_install (well, except for
uninstalling, which is understandable quite difficult).
Finally, there is the fourth and already separate project of PyPI:
4) The hosted repository of publicly available eggs (or their
equivalent). This should export any metadata required to resolve
dependencies relatively cheeply.
Breaking them apart will make it easier to have two separate projects
for building eggs (or their equivalents) -- one based on distutils and
the other replacing it. Even more importantly, it will make it
possible for multiple installers to be developed that scratch
particular itches. Hopefully one would eventually emerge as the
de-facto standard, but this will ultimately be decided by community
More information about the Distutils-SIG