At 01:09 AM 5/14/2007 +0100, Alexander Schmolck wrote:
"Phillip J. Eby"
writes: Here's the rub-- it must be in setup.py and you probably want to give your package access to it so that it can be reported. It appears that the current idiom for solving this dilemma is to but a release.py or version.py file in your package, which is sucked up into the setup.py file with execfile (see http://kid-templating.org/trac/browser/trunk/setup.py for an example). You then manually maintain the version number in one place (the release.py file).
Yep, this is what most people do.
Is there a standard trick to get the desired svn-revision? Running `'svnversion > __svn_version__.py`` in setup.py when a distrubtion-building command is issued and then importing that in a hand-maintained ``version.py``/``release.py`` file should work, but is there a way to check whether a setup.py command falls into a certain category?
I don't understand what you're trying to do. Why do you need the SVN revision in a .py file?
I actually use a PEAK tool called "version" (peak.tools.version) which maintains a data file with the version, and does targeted search-and-replace operations on the files listed in a configuration file. This is a lot easier when you have documentation files that also need version information updated, and it also avoids the execfile pain.
This sounds more like it, but I don't assume this package is going to be ready for an official release anytime soon?
Nope, and it's not documented either. I stole the idea, however, from another open source program that does something quite similar, but unfortunately I don't remember the name of that other program.