[Distutils] Setuptools-Distribute merge announcement

PJ Eby pje at telecommunity.com
Thu Mar 14 01:54:49 CET 2013

Jason Coombs (head of the Distribute project) and I are working on
merging the bulk of the improvements distribute made into the
setuptools code base.  He has volunteered to take over maintenance of
setuptools, and I welcome his assistance.  I appreciate the
contributions made by the distribute maintainers over the years, and
am glad to have Jason's help in getting those contributions into
setuptools as well.  Continuing to keep the code bases separate isn't
helping anybody, and as setuptools moves once again into active
development to deal with the upcoming shifts in the Python-wide
packaging infrastructure (the new PEPs, formats, SSL, TUF, etc.), it
makes sense to combine efforts.

Aside from the problems experienced by people with one package that
are fixed in the other, the biggest difficulties with the fork right
now are faced by the maintainers of setuptools-driven projects like
pip, virtualenv, and buildout, who have to either take sides in a
conflict, or spend additional time and effort testing and integrating
with both setuptools and distribute.  We'd like to end that pain and
simplify matters for end users by bringing distribute enhancements to
setuptools and phasing out the distribute fork as soon as is

In the short term, our goal is to consolidate the projects to prevent
duplication, wasted effort, and incompatibility, so that we can start
moving forward. This merge will allow us to combine resources and
teams, so that we may focus on a stable but actively-maintained
toolset.  In the longer term, the goal is for setuptools as a concept
to become obsolete.  For the first time, the Python packaging world
has gotten to a point where there are PEPs *and implementations* for
key parts of the packaging infrastructure that offer the potential to
get rid of setuptools entirely.  (Vinay Sajip's work on distlib,
Daniel Holth's work on the "wheel" format, and Nick Coghlan's taking
up the reins of the packaging PEPs and providing a clear vision for a
new way of doing things -- these are just a few of the developments in
recent play.)

"Obsolete", however, doesn't mean unmaintained or undeveloped.  In
fact, for the "new way of doing things" to succeed, setuptools will
need a lot of new features -- some small, some large -- to provide a
migration path.

At the moment, the merge is not yet complete.  We are working on a
common repository where the two projects' history has been spliced
together, and are cleaning up the branch heads to facilitate
re-merging them.  We'd hoped to have this done by PyCon, but there
have been a host of personal, health, and community issues consuming
much of our available work time.  But we decided to go ahead and make
an announcement *now*, because with the big shifts taking place in the
packaging world, there are people who need to know about the upcoming
merge in order to make the best decisions about their own projects
(e.g. pip, buildout, etc.) and to better support their own users.

Thank you once again to all the distribute contributors, for the many
fine improvements you've made to the setuptools package over the
years, and I hope that you'll continue to make them in the future.
(Especially as I begin to phase myself out of an active role in the

I now want to turn the floor over to Jason, who's put together a
Roadmap/FAQ for what's going to be happening with the project going
forward.  We'll then both be here in the thread to address any
questions or concerns you might have.

More information about the Distutils-SIG mailing list