skillfed

pybreaker

Python implementation of the Circuit Breaker pattern

pybreaker Permissive license Active 691 v1.4.1 released

Install

pybreaker on PyPI

pip

pip install pybreaker

uv

uv add pybreaker

poetry

poetry add pybreaker

Package 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

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseProgramming Language :: PythonProgramming Language :: Python :: 3Topic :: Software Development :: Libraries

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...

Read as markdown · JSON record · Source repository

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
circuit breaker patternfault tolerance resilienceprevent cascading failuresintegration point protectionsystem health monitoringautomatic failure handlingdistributed system reliability

Similar packages