[Zope-dev] setting missing minimum version in setup.py

Chris Withers chris at simplistix.co.uk
Mon Mar 23 08:03:27 EDT 2009


Martijn Faassen wrote:
> The version requirements in setup.py should always be "open".
> 
> The most widely open requirement is this:
> 
> zope.foo
> 
> but another open requirement is this:
> 
> zope.foo >= 1.3
> 
> I also don't recall open requirements bringing development to a halt?
> 
> I think more specific open requirements (as opposed to the most widely 
> open requirement) can be very useful. Useful to the maintainers of the 
> Zope Framework KGS, the Zope 3 KGS, the Grok KGS, the Zope 2 KGS, and to 
> application specific lists of packages, and users who are developing or 
> testing packages in some other way. I've used this pattern quite 
> successfully when developing a bunch of related packages.
> 
> You bring up the case of backporting a fix (a relatively rare 
> occurrence, but it certainly happens):
> 
> So, zope.bar 3.2 says it needs zope.foo >= 1.3.
> 
> Now you take something from zope.foo 1.3 and also put it in zope.foo 
> 1.2.3 and onwards. zope.bar could now work with zope.foo 1.2 too, and it 
> doesn't declare that it does.
> 
> You could release a new minor version of zope.bar 3.2.1 that has a wider 
> specification (if I get the spelling right):
> 
> zope.foo >= 1.3, >= 1.2.3
> 
> (I'm not sure whether setuptools will consider this an "adjacent 
> redundant condition and resolve this to zope.foo >= 1.2.3..)
> 
> Updating that in all packages that depend on zope.foo for just that 
> feature is indeed a bit of a burden. It does make it more likely that 
> when someone does an update they'll get a set of package that work together.
> 
> Opinions?

However you need to spell it, what you suggest is correct.

cheers,

Chris

-- 
Simplistix - Content Management, Zope & Python Consulting
            - http://www.simplistix.co.uk


More information about the Zope-Dev mailing list