{"repo":"nshkrdotcom/foundation","free":true,"listed":false,"github":"https://github.com/nshkrdotcom/foundation","clone":"git clone https://github.com/nshkrdotcom/foundation.git","description":"Elixir infrastructure and Observability Library","language":"Elixir","stars":13,"topics":["elixir","beam","otp","erlang-vm","functional-programming","infrastructure","observability","telemetry","monitoring","metrics"],"license":"MIT","category":"analytics","readme_excerpt":"Foundation Lightweight resilience primitives for Elixir --- Foundation provides composable building blocks for resilient Elixir applications: backoff policies, retry loops, rate-limit windows, circuit breakers, semaphores, and telemetry helpers. The primitives stay generic: for example, circuit breakers support success/failure/ignore outcomes, and Dispatch reacts to externally supplied backoff without assuming any HTTP provider semantics. Installation Add foundation to your dependencies in mix.exs : Foundation 0.2+ is a complete rewrite and is not compatible with the 0.1.x series. See the Migration Guide for details. Quick Start See the Getting Started guide for a full walkthrough. Features Feature Module Guide --------- -------- ------- Backoff -- Exponential, linear, and constant strategies with jitter Foundation.Backoff Backoff & Retry Retry -- Configurable retry loops with timeout and progress tracking Foundation.Retry Backoff & Retry HTTP Retry -- Status classification and Retry-After parsing Foundation.Retry.HTTP HTTP Retry Polling -- Long-running workflow polling with backoff and cancellation Foundation.Poller Polling Rate Limiting -- Shared backoff windows for API rate limits Foundation.RateLimit.BackoffWindow Rate Limiting Circuit Breaker -- Protect downstream services with automatic recovery Foundation.CircuitBreaker Circuit Breakers Semaphores -- Counting and weighted semaphores for concurrency control Foundation.Semaphore. Semaphores Dispatch -- Layered limiter co","default_branch":null,"files":null,"tree":[],"storefront":"/r/nshkrdotcom","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/nshkrdotcom/foundation/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."}