{"repo":"aponysus/redress","free":true,"listed":false,"github":"https://github.com/aponysus/redress","clone":"git clone https://github.com/aponysus/redress.git","description":"Policy-driven failure handling for Python services.","language":"Python","stars":42,"topics":["backoff","exponential-backoff","fault-tolerance","observability","python","resilience","resilient-system","retry","retry-library","backoff-library"],"license":"MIT","category":"analytics","readme_excerpt":"redress redress (v.): to remedy or to set right. Policy-driven failure handling for Python services. redress treats retries, circuit breakers, and stop conditions as coordinated responses to classified failure—making failure behavior explicit, bounded, and observable. Why redress? Most failure-handling code grows organically around retries, circuit breakers, and ad-hoc rules. redress starts from a different premise: failure handling is policy. Classify, then dispatch. Exceptions get mapped to semantic error classes (RATE LIMIT, TRANSIENT, SERVER ERROR, etc.), and each class can have its own backoff strategy. Rate limits back off aggressively; transient blips retry fast. Single observability hook. One callback for success, retry, permanent failure, deadline exceeded—plug it into your metrics/logging and always know why retries stopped. Circuit breaking. Policies can open a circuit after repeated failures, failing fast instead of piling up retries. Retries and circuit breakers are treated as policy responses to classified failure, not separate mechanisms. Sync/async symmetry. Policy and AsyncPolicy share the same API and configuration; RetryPolicy / AsyncRetryPolicy remain convenient shortcuts. SDK and framework integrations. First-class contrib modules for OpenAI and Anthropic, plus HTTP/framework integrations and thin extras for boto3, grpc, redis, urllib3, aiohttp, and pyodbc. Retry budgets. Shared rolling-window limits to prevent retry storms across operations. Documentatio","default_branch":null,"files":null,"tree":[],"storefront":"/r/aponysus","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/aponysus/redress/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}