On May 19, 2009, at 12:21 PM, Jean-Paul Calderone wrote:

What is the recommendation for specifying version information in a way which is compatible with all these new tools?

My personal recommendation is to put the version information in a flat text file and have your setup.py read that flat text file instead of importing a Python package, e.g.:

http://allmydata.org/trac/zfec/browser/zfec/setup.py?rev=285#L88
http://allmydata.org/trac/pyutil/browser/pyutil/setup.py?rev=141#L44

Another approach is to have the revision control be the single store of versioning information, and read it out of revision control whenever your setup.py runs. I believe I've already submitted one patch for each of these techniques for Nevow:

http://divmod.org/trac/ticket/2699

A third approach is require setuptools and rely on setuptools's implementation of the second approach -- reading versioning information from your revision control tool. That one has obvious disadvantages (e.g. The Big Two: http://bugs.python.org/setuptools/ issue54 (be more like distutils with regard to --prefix=) and http:// bugs.python.org/setuptools/issue53 (respect the PYTHONPATH)), but it has the advantage that the implementation of this feature is not in your setup.py but is in setuptools or in a setuptools plugin such as setuptools_hg or setuptools_bzr.

:-)

Regards,

Zooko
_______________________________________________
Distutils-SIG maillist  -  [email protected]
http://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to