Closed-loop feedback control for API concurrency. When APIs push back, gentlify slows down. When pressure eases, it speeds up.
Built-in primitives that work together — no extra libraries required.
Dynamic concurrency limits that decelerate on failures and cautiously recover after a cooling period of sustained success.
Enforces minimum time gaps between requests with stochastic jitter to prevent thundering-herd bursts.
Track per-window resource consumption — LLM tokens, API credits, bytes — independently of request-count limits.
Hard stop after sustained failures with automatic half-open probing for safe recovery.
Configurable retry with exponential backoff and jitter — retries happen inside the throttled slot so concurrency accounting stays correct.
Pure Python standard library. No runtime dependencies. Ships with py.typed and passes mypy --strict.
Real-time snapshots with ETA, structured event callbacks, and standard logging integration.
Drain in-flight requests on shutdown — no dropped work, no hard stops.