Dependency Graph Nightmares in Python
justcramer.com
justcramer.com
If an API is just imperfect, stuff just gets added around it, eg getPage has been superseded by Agent for a while but it still works fine.
People may think this is a property of boring software that has jumped the shark. Maybe that's true. Maybe that's a good thing too.
I'm half surprised you didn't just create a requests-1.0 branch and then give the third party libraries time to upgrade instead of pinning to shas. I have several projects that depend on requests<1.0 which will run just fine for some time.