[Distutils] Overriding dependency versions

Daniel Holth dholth at gmail.com
Mon May 13 16:03:30 CEST 2013


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
<graffatcolmingov at gmail.com> wrote:
> On Mon, May 13, 2013 at 7:53 AM, Jim Fulton <jim at 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 at python.org
> http://mail.python.org/mailman/listinfo/distutils-sig


More information about the Distutils-SIG mailing list