At 10:38 PM 9/26/2007 +0200, Martijn Faassen wrote:
An alternative would be to expand the syntax of install_requires and extra_require to allow the recommended version number hint. Something like this:
install_requires = [ 'foo (1.2.1)', 'bar >= 1.3 (1.3.2)', ]
Installation tools are free to ignore the latter number and just install something that fits the basic requirement:
install_requires = [ 'foo', 'bar >= 1.3', ]
But an installation could be taught to take this into account and get those versions, and do the equivalent of this:
install_requires = [ 'foo == 1.2.1', 'bar == 1.3.2', ]
The install tool could choose in the case of conflicting version numbers to pick the one in the outer packages. So, if foo depends on bar, and bar says it would prefer qux 1.3, while foo actually prefers 1.3.2, foo would trump bar.
Note that the previous proposal for having a way to specify "or'ed" conditions would allow this, but it isn't going to happen until I get an 0.6 final out so I can focus on refactoring and new features in 0.7.