On Tue, Apr 15, 2014 at 3:26 PM, Terry Reedy
On 4/15/2014 3:25 PM, Andrew Barnert wrote:
If my project relies on 2.3.4+ but not 3.x of your project, and your 2.3.7 breaks backward compatibility, that's a bug in your project.
Agreed. But it means that one cannot use the simplistic algorithm given on the web page: usable = '2.3.4' <= version < '3.0.0'.
You can if the author releases a 2.3.8 that un-breaks backward compatibility. In general, the packaging tools should install the latest version that meets all the requirements, so as long as no dependencies require the exact broken one to be used, it'll work. Of course, you _could_ still add that extra guard, it just isn't needed because pip will take care of it for you. Denouncement might also still be useful, but in the same vein, probably not needed.