skillfed

backoff

Function decoration for backoff and retry

backoff Permissive license MIT Abandoned 2,694 v2.2.1 released

Install

backoff on PyPI

pip

pip install backoff

uv

uv add backoff

poetry

poetry add backoff

Package 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

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Internet :: WWW/HTTPTopic :: Software Development :: Libraries :: Python ModulesTopic :: Utilities

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.
retry decoratorexponential backofffunction retry logicasync retry handlernetwork request retryexception retry decoratorpolling with backoff

Similar packages