There have been a few rumbles about module version numbering on and off the list, and I thought I should bring it all out into the open. First, I think I tossed off a random opinion along these lines:
[lots of arguments deleted because I agree completely]
Now, there should also be semi-formal guidelines on what the different components of a version number *for modules* might mean:
Better formal ones. If you feel you need more precision to indicate subtle variations in your code, put them into a README file!
their documentation and test suites. If you want different levels of functionality, you should split up your modules accordingly and make several distributions. Give away foo-base-1.3.2 to anyone who wants it, and charge extra for foo-bronze-1.3.2, foo-silver-1.3.2, and foo-gold-1.3.2, each of which contain a couple of modules that add still more functionality to the whole system.
That's the only reasonable approach if we want to establish a dependency verification system.
I think a lot of "version" problems can be solved by carefully organizing your modules so that blocks of functionality (barebones vs deluxe, informix vs sybase, etc.) correspond to modules or blocks of modules. Hell, this is just good solid software engineering practice,
Right. But this should be explained carefully in the manual for package developers!
Good point! I certainly hope we don't have to deal with this, i.e. have module developers worry whether their module will work with Python 1.5.2 or 1.6 or 1.6.1 (etc.).
We will have to consider this for binary distributions, because the binary APIs do change from version to version (not always, but sometimes). But since Python keeps a C API version number, all it takes is to note this version number in the package meta-data. At least for verification; distinguishing binary distributions for different Python versions by their file name is another question. But not really a difficult one, unless we want to support DOS file systems! Konrad. -- ------------------------------------------------------------------------------- Konrad Hinsen | E-Mail: hinsen@cnrs-orleans.fr Centre de Biophysique Moleculaire (CNRS) | Tel.: +33-2.38.25.55.69 Rue Charles Sadron | Fax: +33-2.38.63.15.17 45071 Orleans Cedex 2 | Deutsch/Esperanto/English/ France | Nederlands/Francais -------------------------------------------------------------------------------