Skip to content

v0.4.0 — HTTP & LLM resilience out of the box

Latest

Choose a tag to compare

@AhsanSheraz AhsanSheraz released this 12 Jun 21:47
· 1 commit to main since this release

Added

  • ignore_on on RetryConfig and CircuitBreakerConfig — 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_func on RetryConfig — compute the per-attempt delay from the triggering exception or result; return None to fall back to exponential backoff.
  • pyresilience.contrib.http — stdlib-only, duck-typed for requests/httpx/aiohttp: retry_on_status() predicate and retry_after_delay() which honors Retry-After headers
    (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 --strict clean, 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