[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