Added
ignore_ononRetryConfigandCircuitBreakerConfig— exception types that are never retried and never counted as circuit-breaker failures; takes precedence over
retry_on/error_types. Terminal client errors (auth, quota, validation) fail fast.delay_funconRetryConfig— compute the per-attempt delay from the triggering exception or result; returnNoneto fall back to exponential backoff.pyresilience.contrib.http— stdlib-only, duck-typed for requests/httpx/aiohttp:retry_on_status()predicate andretry_after_delay()which honorsRetry-Afterheaders
(delta-seconds and HTTP-date forms).llm_policy()preset — client-side rate limiter + 429-aware,Retry-After-honoring retry + timeout + circuit breaker, tuned for LLM/HTTP APIs.
Quality
- 452 tests (60 new), 96% branch coverage,
mypy --strictclean, Python 3.9–3.14 - New-feature happy-path overhead ≤ +0.07μs, with permanent benchmark coverage
Full Changelog: v0.3.2...v0.4.0