Differences between revisions 5 and 7 (spanning 2 versions)
Revision 5 as of 2004-03-20 12:14:07
Size: 1936
Editor: ayunami
Comment:
Revision 7 as of 2004-03-23 17:08:28
Size: 2589
Editor: n00
Comment: Add feedback on sprint's first checkins
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= Distuils BoF Topics = = Distutils BoF Topics =
Line 14: Line 14:
but seems out of place for smaller distributions of a single pakcage but seems out of place for smaller distributions of a single package
Line 30: Line 30:
If any `distutils`-related sprints emerge, hopefully there can be a progress
report from that; it is not yet clear that there will be a distutils sprint.
Anthony Baxter, FredDrake, BobIppolito, and Kapil added a very simple
dependency mechanism on Monday; we can discuss what was done and whether
it's sufficient.

(Guys: you might have a look at setuptools.depends and setuptools.command.depends in the sandbox, as the dependency mechanisms there are more fleshed out (including unit tests), although they are not as smoothly integrated with distutils (e.g., I don't have a "skip" option for dependency checking yet). In particular, note that using import as a dependency checking mechanism will fail when installing to a directory not on the current PYTHONPATH; setuptools' dependency checking can handle this correctly, even in the presence of 'extra_path'. Also, I'm awfully YAGNI on ''provides'' in general. What are the use cases? --PJE)
Line 35: Line 38:
[mailto:fdrake@acm.org FredDrake], Andrew Kuchling, BobIppolito  * [mailto:fdrake@acm.org FredDrake]
 *
Andrew Kuchling
 *
BobIppolito

Distutils BoF Topics

There have been many proposals for changes and improvements to distutils, but any actual activity on improving distutils appears to have come to a complete halt. All activity has moved to third-party tools which layer on top of distutils.

There is a case to be made for integrating the best of the enhancements directly into distutils itself, with the most important being shared maintenance and making the tools readily available for use by smaller distributions. Currently, many larger distributions of Python code are incorporating distutils extensions directly into their distributions. This isn't much of a problem for large distributions (like Zope and PEAK), but seems out of place for smaller distributions of a single package (like ZConfig).

The extensions which we should consider adding directly to distutils include:

  • Support for installing both modules and packages from a single distribution.
  • Support for more easily installing data files into a package. Phillip Eby's setuptools has implemented one reasonable approach to this; there may be others.

  • The ability to install packages into other packages without having to hack around in setup.py scripts. (For example, the option to install zope.app.sqlscripts into an existing installation of zope.app.)

  • Some ability to use more declarative forms of metadata from setup.py without having to write a pile of extension code. This is being explored some at Zope Corporation.

  • Dependency support. This is also being worked on by Phillip Eby, but it would be nice to get more information from the community about the requirements.

Anthony Baxter, FredDrake, BobIppolito, and Kapil added a very simple dependency mechanism on Monday; we can discuss what was done and whether it's sufficient.

(Guys: you might have a look at setuptools.depends and setuptools.command.depends in the sandbox, as the dependency mechanisms there are more fleshed out (including unit tests), although they are not as smoothly integrated with distutils (e.g., I don't have a "skip" option for dependency checking yet). In particular, note that using import as a dependency checking mechanism will fail when installing to a directory not on the current PYTHONPATH; setuptools' dependency checking can handle this correctly, even in the presence of 'extra_path'. Also, I'm awfully YAGNI on provides in general. What are the use cases? --PJE)

Attendees

DistutilsBof (last edited 2008-11-15 14:00:57 by localhost)

Unable to edit the page? See the FrontPage for instructions.