httpxthrottlecache
Rate Limiting and Caching HTTPX Client
Decision gist · record as of 2026-08-14
Yes, if you need rate limiting and caching together for HTTPX. The package is actively maintained, has low install friction, and solves a real problem. However, verify the license before use in proprietary contexts, and be aware it is young with minimal adoption. Start with a small trial to confirm the cache and rate-limit behavior matches your use case.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python >=3.10.
- Must install one of two extras to select HTTP client backend.
- Low friction: pure Python wheel with only three runtime dependencies (aiofiles, filelock, pyrate-limiter).
License · maintenance · safety
(unclear) — License status is unclear—no SPDX identifier or raw license text is recorded. Verify the license at the GitHub repository before adopting in proprietary or copyleft-sensitive contexts.
last release 2026-08-13 (1 days) · last repo commit 2026-08-13 · 4 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 794,590 downloads/mo, #5,037 on PyPI
Alternatives
Verify before relying
pip install 'httpxthrottlecache[httpx2]'
from httpxthrottlecache import HttpxThrottleCache
with HttpxThrottleCache(cache_mode="Hishel-File", cache_dir="_cache", rate_limiter_enabled=True, request_per_sec_limit=10) as manager:
with manager.http_client() as client:
response = client.get("https://example.com")
print(response.status_code)- Production readiness given first release 2025-08-10 and low adoption (4 stars).
- Whether Hishel-S3 caching backend is fully documented and tested.
- Whether multiprocess rate limiting via alternative pyrate-limiter backends is production-ready.
What it is and what it does
httpxthrottlecache is a convenience wrapper around HTTPX that bundles rate limiting and HTTP response caching into a single manager. You configure it once with a cache mode (disabled, file-based, or S3-backed), a rate limit (requests per second), and optional cache rules (site and path regex patterns mapped to TTLs), then use it for synchronous, asynchronous, or batch requests. The package abstracts away the complexity of assembling HTTPX transports and making opinionated choices about when and how to cache.
It supports four cache modes: disabled (rate limiting only), Hishel-File (file-backed), Hishel-S3 (S3-backed), and FileCache (simpler file storage using Last-Modified revalidation). Rate limiting is powered by pyrate-limiter, a leaky-bucket implementation that works across threads and can be extended to multiprocess or distributed scenarios. The package was born from real-world needs—specifically, working around strict rate limits and unhelpful caching headers on certain APIs.
Use it for
- Scrape rate-limited APIs without exceeding request quotas or hammering servers.
- Batch-download many files over HTTP while respecting rate limits and caching responses locally.
- Build async request pipelines that throttle concurrency and reuse cached responses across multiple tasks.
- Cache HTTP responses with custom TTL rules per site and path, overriding server cache headers when needed.
- Share a single rate limiter across multiple threads using pyrate-limiter's in-memory backend.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need rate limiting and caching together for HTTPX.
The package is actively maintained, has low install friction, and solves a real problem. However, verify the license before use in proprietary contexts, and be aware it is young with minimal adoption. Start with a small trial to confirm the cache and rate-limit behavior matches your use case.
Install
httpxthrottlecache on PyPI
Before you install
Low friction: pure Python wheel with only three runtime dependencies (aiofiles, filelock, pyrate-limiter). Active maintenance—released 2026-08-13 with no known vulnerabilities. Requires you to install one of two extras to select your HTTP client backend.
Requires Python >=3.10. Must install one of two extras to select HTTP client backend.
License in practice
License status is unclear—no SPDX identifier or raw license text is recorded. Verify the license at the GitHub repository before adopting in proprietary or copyleft-sensitive contexts.
Quickstart
pip install 'httpxthrottlecache[httpx2]'
from httpxthrottlecache import HttpxThrottleCache
with HttpxThrottleCache(cache_mode="Hishel-File", cache_dir="_cache", rate_limiter_enabled=True, request_per_sec_limit=10) as manager:
with manager.http_client() as client:
response = client.get("https://example.com")
print(response.status_code)
Verify before relying
- Production readiness given first release 2025-08-10 and low adoption (4 stars).
- Whether Hishel-S3 caching backend is fully documented and tested.
- Whether multiprocess rate limiting via alternative pyrate-limiter backends is production-ready.
Package facts
| License | Not declared unclear |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 3 packagesaiofilesfilelockpyrate-limiter |
| Maintenance | Actively maintained 1 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 794,590 / month, #5,037 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.15Programming Language :: Python :: Implementation :: PyPy |
Evidence: httpxthrottlecache-0.6.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “httpx rate limiting”
- httpxthrottlecacheWraps HTTPX with built-in rate limiting and caching transports,…
- httpx-limiterProvides rate-limited HTTP transports for httpx clients, supporting…
- merakiA Python client library for the Cisco Meraki Dashboard API that…
Give your agent the search over MCP, or paste the wish link into any chat.
More WWW/HTTP packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
h11 is a pure-Python HTTP/1.1 protocol implementation that handles parsing and serializing HTTP messages without any built-in I/O, letting you integrate it with any network layer you choose.
HTTPX is a fully featured HTTP client library for Python that provides both sync and async APIs, with support for HTTP/1.1 and HTTP/2, plus an integrated command-line client.
Install it if you are building new projects or modernizing existing ones that rely on HTTP.
A minimal low-level HTTP client library that sends HTTP requests with thread-safe and task-safe connection pooling, supporting HTTP/1.1, HTTP/2, proxies, and both sync and async interfaces.
aiohttp is an async HTTP client and server framework built on asyncio, supporting both WebSockets and middleware-based routing for building concurrent web applications.
Install it if you need async HTTP client or server capabilities in asyncio-based applications.
See also hishel · httplib2 · httpx-limiter · fastapi-limiter · asynciolimiter · requests-ratelimiter · retryhttp · httpx-aiohttp · apeye · CacheControl