httpr
raw JSON → 0.4.4 verified Fri May 01 auth: no python
Fast HTTP client for Python with built-in retries, timeouts, and connection pooling. Designed as a modern alternative to requests/httpx for high-performance use cases. Current version 0.4.4, monthly releases.
pip install httpr Common errors
error ModuleNotFoundError: No module named 'httpr' ↓
cause Package not installed or typo in package name (should be 'httpr', not 'httpr-client').
fix
pip install httpr
error AttributeError: module 'httpr' has no attribute 'Client' ↓
cause Using an outdated version (<0.4.0) where Client was in a submodule.
fix
Upgrade to 0.4.0+: pip install --upgrade httpr
error httpr.ConnectError: All connection attempts failed ↓
cause DNS resolution failure or network unreachable. Often due to missing proxy configuration.
fix
Check network/proxy. If using proxy, set Client(proxy='http://user:pass@host:port').
Warnings
breaking Client timeout is now specified via Client(timeout=...) instead of passing timeout to each request. Passing timeout as a request parameter will be ignored. ↓
fix Set timeout on Client constructor: client = Client(timeout=5.0)
deprecated The 'proxies' parameter is deprecated in favor of 'proxy' (singular). Using 'proxies' will raise a warning. ↓
fix Replace proxies={'http':'...'} with proxy='...'
gotcha Client is not thread-safe by default. Reusing a Client across threads may cause unexpected errors. ↓
fix Create a new Client per thread or use a client pool.
Imports
- Client wrong
from httpr.client import Clientcorrectfrom httpr import Client - AsyncClient wrong
from httpr.async_client import AsyncClientcorrectfrom httpr import AsyncClient
Quickstart
from httpr import Client
client = Client(base_url='https://httpbin.org')
response = client.get('/get')
print(response.status_code, response.json())