backoff
Function decoration for backoff and retry
Install
backoff on PyPI
pip
pip install backoffuv
uv add backoffpoetry
poetry add backoffPackage facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.7,<4.0) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | abandoned — 1,408 days since the last release |
| Last repo commit | (repository archived) |
| 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: backoff-2.2.1-py3-none-any.whl
Keywords: retry, backoff, decorators
About backoff
from the package's own PyPI description — quoted content, verbatim
backoff
.. image:: https://travis-ci.org/litl/backoff.svg :target: https://travis-ci.org/litl/backoff .. image:: https://coveralls.io/repos/litl/backoff/badge.svg :target: https://coveralls.io/r/litl/backoff?branch=python-3 .. image:: https://github.com/litl/backoff/workflows/CodeQL/badge.svg :target: https://github.com/litl/backoff/actions/workflows/codeql-analysis.yml .. image:: https://img.shields.io/pypi/v/backoff.svg :target: https://pypi.python.org/pypi/backoff .. image:: https://img.shields.io/github/license/litl/backoff :target: https://github.com/litl/backoff/blob/master/LICENSE
Function decoration for backoff and retry
This module provides function decorators which can be used to wrap a function such that it will be retried until some condition is met. It is meant to be of use when accessing unreliable resources with the potential for intermittent failures i.e. network resources and external APIs. Somewhat more generally, it may also be of use for dynamically polling resources for externally generated content.
Decorators support both regular functions for synchronous code and `asyncio...
Read as markdown · JSON record · Source repository · Homepage
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
Provides decorators to automatically retry functions with configurable backoff strategies (exponential, fibonacci, constant) when exceptions occur or predicates are met, supporting both synchronous and asynchronous code.
Installation is straightforward with no runtime dependencies. However, the package is archived and unmaintained since October 2022 (1408 days without release), so critical bug fixes or security updates are unlikely.
Licensed under MIT (permissive), allowing free use, modification, and distribution with minimal restrictions—suitable for both commercial and open-source projects.
Usage
pip install backoff==2.2.1
import backoff
@backoff.on_exception(backoff.expo, Exception, max_tries=3)
def my_function():
return requests.get(url)
Requires Python 3.7 or later (supports 3.7–3.10); asyncio support requires Python 3.5+.
Verdict: Backoff is a stable, well-established retry library with zero security vulnerabilities and permissive licensing, making it safe to adopt for existing projects. Its abandonment since October 2022 poses minimal risk for stable use cases but means no new features or fixes will arrive; consider it only if its current feature set fully meets your needs.
Needs verification
- Whether the archived repository will accept security patches or critical bug reports from the community.
- Real-world compatibility with Python 3.11+ despite classifier support only through 3.10.
- Whether any known limitations or edge cases exist in the retry logic under high concurrency.
Similar packages
permissive · top 1,000 on PyPI
wraptpermissive · top 100 on PyPI
decoratorpermissive · top 1,000 on PyPI
azure-coreunclear · top 1,000 on PyPI
retryingpermissive · top 1,000 on PyPI
fastcorepermissive · top 1,000 on PyPI
multitaskingpermissive · top 1,000 on PyPI
aiohttp-retrypermissive · top 1,000 on PyPI
boltonspermissive · top 1,000 on PyPI
tenacitypermissive · top 100 on PyPI