[Distutils] Distribute sprint #1 wrapup

Tarek Ziadé ziade.tarek at gmail.com
Sat Oct 24 00:46:50 CEST 2009

As promised, here's a quick wrapup of the work started during the
first sprint, on Distribute 0.7

Thanks to all the people that have participated (we were 6 or 7 IIRC)

If you have sprinted and see a mistake or something missing is the
wrapup, please complete it;

= The fate of 0.6 code =

First of all, we've discussed what is happening to the 0.6 code and
we've decided that it was better to keep it
under the pillow as a reference code, and code everything from
scratch. The only code that
is going to be recycled is some parts of pkg_resources.

= 0.7 philosophy =

Distribute 0.7 will be a good Distutils citizen and wants to be its incubator.
It will implement Distutils commands, without changing Distutils
behavior as it is doing now.

Another important point is that the Distribute development will be
driven by the PEP work that is
going on and drop most other concepts of Setuptools:

- PEP 376 : a *single* installation standard
- PEP 345 : Requires, Obsoletes, etc, fields
- PEP 390 : platform-dependant markers for the metadata
- PEP 382 : namespace packages
- PEP 386 : a new version scheme

Distribute will implement those PEPs by gathering all the prototypes
that have been created in the past
months and when possible, will try to push them in Distutils.

The biggest drops we are making are:
- the egg formats are removed in favor of a unique PEP 376 standard.
- easy_install is removed, and Distribute will cooperate with the pip project

What's unclear right now is what will be pushed in Distutils by the
time Python 2.7 and 3.3 are out.

= what was started during the sprint =

We started to write Distutils commands:

- develop command:
    * Created a skeleton command for develop
    * Waiting for work to complete on the install and build_egg_info
commands before work can continue here.

- build_egg_info command (in setuptools, it was called "egg_info",
we've renamed it):

    * Rewrote this command using setuptools code as a model
    * Removed all SVN support code
    * Removed obsolete egg-info writers
    * Waiting on the manifest generation feature to finish this one
    * Will implement PEP 376 egg-info writers when possible

- generate_manifest command. Not started yet, but will be used to
generate the MANIFEST file, and provide a plugin
  system for VCS support. (not an implicit system like in Setuptools)

- install command
  - building a PEP 376 compatible install command (by rewriting
pkg_resources, using the PEP 376 prototype we have written some time

- distutils.extensions : lightweight entry points, based on the PEP
376 standard taken back from the "extensions" project

 -  Currently working on testing strategy

= next sprint =

The next sprint will be next week-end, and will be announced here;
Anyone can join !


Tarek Ziadé | http://ziade.org | オープンソースはすごい! | 开源传万世,因有你参与

More information about the Distutils-SIG mailing list