AFAIK, we have 3 places to put the version number without duplication:
- in setup.py (where it has to be passed to setup(). pkg_resources consumes
this value indirectly through the PKG-INFO file generated during installation.
- in an attribute of a module (which one, please? Defend your choice. ;)
- In a data file in the package (something like the Zope2 product convention of
'version.txt').
Note that without setuptools / distribute installed, we are already running in degraded mode (hard wiring filename globs for package data, no C optimizations, no documentation generation, wonky namespace package support, etc.). Do we really expect to deliver this feature in that case?
The 'pkg_resources' solution is uniform across *all* installed packages (even stdlib modules in 2.7). I would vote for sticking with it as the blessed solution to this need.
AFAIK, we have 3 places to put the version number without duplication:
- in setup.py (where it has to be passed to setup(). pkg_resources consumes
this value indirectly through the PKG-INFO file generated during installation.
- in an attribute of a module (which one, please? Defend your choice. ;)
- In a data file in the package (something like the Zope2 product convention of
'version.txt').
Note that without setuptools / distribute installed, we are already running in degraded mode (hard wiring filename globs for package data, no C optimizations, no documentation generation, wonky namespace package support, etc.). Do we really expect to deliver this feature in that case?
The 'pkg_resources' solution is uniform across *all* installed packages (even stdlib modules in 2.7). I would vote for sticking with it as the blessed solution to this need.