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

Shane Hathaway shane at hathawaymix.org
Tue Mar 17 18:47:04 EDT 2009


Roger Ineichen wrote:
> What do you do if version x.y works with d.e.d but not with
> d.e.e (because it's borken) and fixed in d.e.f.
> 
> This means you could use d.e.d or d.e.f. but not d.e.e
> 
> What's your solution then?
> Fix the version to d.e.d or d.e.f or skip fixing versions?

The version requirements in setup.py should specify only API 
compatibility.  They have nothing to do with bug fixes; that's the 
domain of the KGS.  How about an example.

Let's say we have zope.schema version 5.2, which requires zope.interface 
version 4.1 because zope.interface version 4.0 has a different API. 
Let's also say that zope.interface version 4.1.5 has a bug that breaks 
zope.schema, but versions 4.1.4 and 4.1.6 are OK.  Since that level of 
detail is burdensome and unnecessary for setup.py files, zope.schema 
should require "zope.interface >= 4.1" and let the KGS provide the finer 
detail.  People who don't use a KGS will be fine because they'll get 
4.1.6+ as soon as it's released.

> Note; Not that fixing versions in a package is a bad thing
> in general. But such fixed versions will mess up the KGS
> that's the bad part. And since the KGS solves any kind of
> version conflict problems, there is no way to do it in a
> package anymore.

The KGS is too fine grained for many uses.  I, for example, would like 
to use the latest z3c.form, but I really can't, because it relies on a 
bunch of other packages with revised APIs and the API requirements are 
not written anywhere.  I don't care about bugs; I can fix bugs.  What I 
can't do is read other developer's minds to discover API version 
requirements.

Note that if I could use the current z3c.form, I would also be able to 
help develop it.  Surely many other developers face similar 
circumstances.  Thus I believe the Zope project is quietly missing 
opportunities for developers to get involved due to the lack of 
coarse-grained version requirements.

Shane


More information about the Zope-Dev mailing list