It is very difficult to guarantee that your library will never work with any newer version of some other library, but if you can (e.g. python-dateutil, versions >= 2 being exclusively Python 3 compatible), a < or <= qualifier may be appropriate. != is a good one if you know an exact version of some other library is incompatible. == just causes problems because it gets in the way of the integrator who has a lot more information than the library-author-from-some-time-ago.
On Mon, May 13, 2013 at 9:57 AM, Ian Cordasco <graffatcolmin...@gmail.com> wrote: > On Mon, May 13, 2013 at 7:53 AM, Jim Fulton <j...@zope.com> wrote: >> Gaaa. Libraries shouldn't pin versions (although min and max >> versions with reasonable ranges is fine). > > As a library author, I'm intrigued. Why shouldn't I or others pin > versions? Let's provide a situation where it may be necessary (in my > opinion): > > If I release a library dependent upon a particular API in one version > of a dependency and before I release my next version I notice plans to > break the existing API, why shouldn't I pin the version to protect > users (or at least provide a maximum version) from getting horrible > exceptions? I have no guarantee I'll be able to update my library > based on the new API quickly enough to get a version out concurrent > with the new API on that dependency. > _______________________________________________ > Distutils-SIG maillist - Distutils-SIG@python.org > http://mail.python.org/mailman/listinfo/distutils-sig _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org http://mail.python.org/mailman/listinfo/distutils-sig