{"categories":[{"label":"Libraries","url":"https://skillfed.io/packages/category/software-development-libraries/6"}],"enrichment":{"capability":"Implements the Circuit Breaker pattern for asyncio applications, allowing you to wrap dangerous operations (like external API calls or database queries) so they fail gracefully without cascading failures across your system.","skillfed_tags":["circuit-breaker","asyncio","resilience"],"use_cases":["Protect database queries from overwhelming a struggling database by stopping requests when failures spike","Guard API calls to third-party services so your app fails fast instead of timing out repeatedly","Implement resilience in microservices by preventing one failing service from dragging down dependent services","Monitor integration point health with event listeners to alert on repeated failures or circuit state changes"],"what_it_does":"aiobreaker is an asyncio-native implementation of the Circuit Breaker pattern, a design pattern that prevents cascading failures by wrapping calls to external services or integration points. When a service fails repeatedly, the circuit breaker stops sending requests to it temporarily, allowing the service time to recover while your application handles the failure gracefully instead of repeatedly hitting a broken endpoint.\n\nThe package lets you decorate async functions with a circuit breaker that tracks failures, opens when a threshold is reached, and automatically resets after a timeout. It supports configurable failure thresholds, excluded exceptions (for business logic errors that shouldn't trigger the breaker), event listeners for monitoring, and optional Redis-backed state sharing across processes. However, the project is no longer maintained\u2014the last commit was in early 2022\u2014so it may not work correctly with recent Python or asyncio changes.","worth_installing":"Yes, if you need Circuit Breaker pattern support in an asyncio application and can accept that the package is unmaintained. The code is simple, has no dependencies, and the pattern itself is stable\u2014but be aware that it will not receive updates for Python version changes or asyncio improvements. Consider it only for stable, long-lived codebases where you can maintain a fork if needed."},"id":"aiobreaker","links":{"html":"https://skillfed.io/packages/aiobreaker","md":"https://skillfed.io/packages/aiobreaker.md","pypi":"https://pypi.org/project/aiobreaker/"},"maintenance":{"status":"abandoned"},"meta":{"latest_release":"2021-05-17","license_spdx":null,"license_treatment":"permissive","name":"aiobreaker","python_support":"supports_current","summary":"Python implementation of the Circuit Breaker pattern."},"popularity":{"monthly_downloads":408955,"position":6873,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"1.2.0"}
