Replace requests
with httpx
#2039
Labels
enhancement
New features, or improvements to existing features.
requests
with httpx
#2039
What is the problem or limitation you are having?
Briefcase currently uses the
requests
library to manage downloads etc. Requests is a well known quantity in the Python ecosystem, but it contains some architectural dead ends that prevent it from adapting to modern web and Python standards.Describe the solution you'd like
We should replace the use of
requests
in the Briefcase codebase withhttpx
. The two share very similar APIs; but httpx has features and benefits that requests doesn't have (and, in some cases, can't have without a major rewrite), including:Describe alternatives you've considered
Do nothing. Requests definitely works as-is. We could safely do nothing and Briefcase will keep working.
The other big
requests
alternatives library isaiohttp
; however, that's more of an 'async only' solution.Additional context
This isn't an urgent update. It's more of a "future-proofing" thing. There's also the benefit of using BeeWare's position to send a social signal that despite
requests
being a well-known and entrenched solution for HTTP management in Python, it's not the only solution, and in many cases, it's not the best solution.The text was updated successfully, but these errors were encountered: