Question for fellow #Python developers. I’m building a Python package which is dependent on another package, I’m trying to determine the minimum version of this dependency which would be compatible with my package. Is there a tool somewhere which would help me in figuring this out? I’m imagining a script that fetches all the version tags for the dependency, then installs the latest version, runs the tests included in my package and if they pass, does the same with the next older dependency version all the way until a test fails, or the oldest available version has been tested against my package with no issues. Does something like that exist?

@robin_kipp In addition to actual answers others have given...

You don't necessarily have to find the earliest version of a dependency your package can work with. If you release a new package with a dependency version released, say, a year ago, most new users - i.e. all of them - will probably be using a version at least that new, if they're already using that dependency at all.

Even "the version current as of when I release my package" is frequently fine, but 1 year is conservative.

@cazabon Thanks for that, excellent point and honestly sounds like a super reasonable approach. That’s actually how I was gonna do this as well. However, I then needed to install dj-rest-auth into my project, which has the same dependency (django-allauth) as my own package, but pinned to a much older version than what was specified as a minimum requirement in my own package. I then downgraded to the latest version of django-allauth supported by dj-rest-auth, only to find that it now broke my package in all kinds of ways. So that’s what got me to the point where I started thinking about some automated way which would let me figure out the oldest version of django-allauth that my package is still compatible with :-).