It is best practice to specify project dependencies for a package in setup.py install_requires according to https://packaging.python.org/en/latest/discussions/install-requires-vs-requirements/ and various other resources found on the internet.
This raises the question that never seems to be answered in any of these resources; how do I find out what bounds the version of my requirements should be in?
There is obviously the bruteforce method, going into each requirement and determining the minimum version that will work, then testing it. This seems extremely tedious, especially for projects that have a lot of dependencies where each dependency has its own versioning scheme. You could argue its a once off effort, but what if my project is no longer being supported and a dependency makes a breaking change without something like semver to be the notifier? Now every pip install ... will be broken.
My question is: Is there a better way than this?