pybreaker
Python implementation of the Circuit Breaker pattern
Install
pybreaker on PyPI
pip
pip install pybreakeruv
uv add pybreakerpoetry
poetry add pybreakerPackage facts
| License | not declared (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 326 days since the last release |
| Last repo commit | |
| First released | |
| Popularity | one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-13) |
Evidence: pybreaker-1.4.1-py3-none-any.whl
Keywords: design, pattern, circuit, breaker, integration
About pybreaker
from the package's own PyPI description — quoted content, verbatim
PyBreaker
PyBreaker is a Python implementation of the Circuit Breaker pattern, described
in Michael T. Nygard's book Release It!_.
In Nygard's words, "circuit breakers exists to allow one subsystem to fail without destroying the entire system. This is done by wrapping dangerous operations (typically integration points) with a component that can circumvent calls when the system is not healthy".
Features
- Configurable list of excluded exceptions (e.g. business exceptions)
- Configurable failure threshold and reset timeout
- Support for several event listeners per circuit breaker
- Can guard generator functions
- Functions and properties for easy monitoring and management
- Thread-safe
- Optional redis backing
- Optional support for asynchronous Tornado calls
Requirements
Python_ 3.9+
Installation
Run the following command line to download the latest stable version of
PyBreaker from PyPI_::
$ pip install pybreaker
If you are a Git_ user, you might want to install the current development
version in editable mode::
$ git clone git://github.com/danielfm/pybreaker.git
$ cd pybreaker
$ # run tests...
AI interpretation — verify before relying
AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page
PyBreaker implements the Circuit Breaker pattern to prevent cascading failures by wrapping risky operations and automatically stopping calls when a system becomes unhealthy, with support for configurable thresholds, event listeners, and optional Redis state persistence.
Installs with zero runtime dependencies and low friction. The package is actively maintained with a recent release (2025-09-21) and 691 repository stars, indicating stable, well-established code.
Licensed under a permissive BSD license, allowing unrestricted use, modification, and distribution in both open-source and commercial projects without significant legal constraints.
Usage
pip install pybreaker
import pybreaker
db_breaker = pybreaker.CircuitBreaker(fail_max=5, reset_timeout=60)
@db_breaker
def update_customer(cust):
pass
update_customer(my_customer)
Requires Python 3.9 or later.
Verdict: PyBreaker is a production-ready, actively maintained library with zero dependencies and a permissive license, making it a low-friction choice for adding circuit breaker resilience to Python applications. No known vulnerabilities and strong community adoption (top 1000 PyPI) support its reliability.
Needs verification
- Whether the optional Redis backing and Tornado async support are production-tested at scale
- Performance characteristics under high-concurrency workloads compared to alternatives
Similar packages
permissive · top 1,000 on PyPI
shellinghampermissive · top 1,000 on PyPI
portalockerpermissive · top 1,000 on PyPI
overridespermissive · top 1,000 on PyPI
yfinancepermissive · top 1,000 on PyPI
jupyter-eventspermissive · top 1,000 on PyPI
logurupermissive · top 1,000 on PyPI
aiosqlitepermissive · top 1,000 on PyPI
google-cloud-redispermissive · top 1,000 on PyPI
kombupermissive · top 1,000 on PyPI