Description of problem: Upstream requests has explicit requirements: 'chardet>=3.0.2,<3.1.0', 'idna>=2.5,<2.8', 'urllib3>=1.21.1,<1.24', Also, it has code to check that compatible versions are installed or raise warnings: https://github.com/requests/requests/blob/v2.19.1/requests/__init__.py#L68 So it should have explicit requirements in the RPM to ensure all dependencies are upgraded when installing or updating python-requests.
Alternatively, it could have the compatibility check patched out. For the most part, when one of those libraries updates, upstream just bumps the upper bound. Since these are in the setup.py, it's already a problem when one of those dependencies updates since importing it will raise those warnings. Putting the bounds in the specfile won't help with that, it'll just make it fail to install rather than fail to work without warnings.
Yeah, but if it's checked in the rpm/spec level you would just not be able to update and would hopefully keep the current version you have thats working.
This bug appears to have been reported against 'rawhide' during the Fedora 31 development cycle. Changing version to '31'.
This package has changed maintainer in the Fedora. Reassigning to the new maintainer of this component.
$ repoquery --releasever=33 --repo=fedora,updates --latest=1 --requires python3-requests ((python3.9dist(urllib3) < 1.25 or python3.9dist(urllib3) > 1.25) with (python3.9dist(urllib3) < 1.25.1 or python3.9dist(urllib3) > 1.25.1) with python3.9dist(urllib3) < 1.26 with python3.9dist(urllib3) >= 1.21.1) (python3.9dist(chardet) < 4 with python3.9dist(chardet) >= 3.0.2) (python3.9dist(idna) < 3 with python3.9dist(idna) >= 2.5) python(abi) = 3.9 $ repoquery --releasever=32 --repo=fedora,updates --latest=1 --requires python3-requests ((python3.8dist(urllib3) < 1.25 or python3.8dist(urllib3) >= 1.25.0) with python3.8dist(urllib3) >= 1.21.1 with python3.8dist(urllib3) < 1.26 with (python3.8dist(urllib3) < 1.25.1 or python3.8dist(urllib3) >= 1.25.1.0)) (python3.8dist(chardet) >= 3.0.2 with python3.8dist(chardet) < 3.1) (python3.8dist(idna) >= 2.5 with python3.8dist(idna) < 2.9) python(abi) = 3.8 python3-chardet >= 3.0.2 python3-idna python3-urllib3 >= 1.21.1 $ repoquery --releasever=31 --repo=fedora,updates --latest=1 --requires python3-requests (python3.7dist(urllib3) < 1.25 or python3.7dist(urllib3) >= 1.25.0) (python3.7dist(urllib3) < 1.25.1 or python3.7dist(urllib3) >= 1.25.1.0) python(abi) = 3.7 python3-chardet >= 3.0.2 python3-idna python3-urllib3 >= 1.21.1 python3.7dist(chardet) < 3.1 python3.7dist(chardet) >= 3.0.2 python3.7dist(idna) < 2.9 python3.7dist(idna) >= 2.5 python3.7dist(urllib3) < 1.26 python3.7dist(urllib3) >= 1.21.1 This is not perfect everywhere, but on rawhide, it is.