aioretry
Asyncio retry utility for Python 3.7+
Decision gist · record as of 2026-08-14
Yes, if you need retry logic for async code. The library is lightweight, dependency-free, and straightforward to integrate. The aging maintenance status (540 days since release) is not a blocker—the API is stable and the recent repository activity suggests the maintainer is responsive. No known vulnerabilities. Install if your async workload benefits from configurable retry policies; skip if you prefer a heavier framework or have simple fixed-delay retry needs.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.7 or later; target function must be async or return an awaitable.
- Low friction: pure Python wheel with no runtime dependencies.
- Maintenance is aging—last release was 540 days ago, though the repository remains active with a recent commit on 2025-02-20.
License · maintenance · safety
permissive license (permissive) — MIT license permits free use, modification, and distribution with minimal restrictions; suitable for both open-source and commercial projects.
last release 2025-02-20 (540 days) · last repo commit 2025-02-20 · 14 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 130,941 downloads/mo, #11,618 on PyPI
Alternatives
Verify before relying
from aioretry import retry, RetryInfo
import asyncio
def retry_policy(info: RetryInfo):
return False, (info.fails - 1) % 3 * 0.1
@retry(retry_policy)
async def connect_to_server():
pass
asyncio.run(connect_to_server())- Whether the aging maintenance status (540 days since last release) affects real-world reliability or if the stable API means infrequent updates are acceptable.
- Performance characteristics under high concurrency or with very frequent retries.
What it is and what it does
aioretry is a decorator library that wraps async functions to automatically retry them on failure according to a policy you define. You supply a retry policy function that receives information about each failure (attempt count, exception, elapsed time) and returns a decision: either abandon and raise the exception, or sleep for a specified delay before retrying. The decorator handles the async sleep and retry loop for you.
It supports flexible policy definitions—functions, methods, class methods, or static methods—and optional before-retry callbacks for logging or side effects. The library works with instance methods, class methods, and standalone async functions, making it suitable for network operations, database queries, or any async task that might transiently fail.
Use it for
- Retry HTTP requests or API calls with exponential backoff when network timeouts or transient errors occur.
- Automatically retry database connection attempts with configurable delays during service startup.
- Implement circuit-breaker-like behavior by abandoning retries after a maximum failure count.
- Log or monitor each retry attempt via a before_retry callback to track failure patterns.
- Selectively retry only certain exception types while immediately failing on others.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need retry logic for async code.
The library is lightweight, dependency-free, and straightforward to integrate. The aging maintenance status (540 days since release) is not a blocker—the API is stable and the recent repository activity suggests the maintainer is responsive. No known vulnerabilities. Install if your async workload benefits from configurable retry policies; skip if you prefer a heavier framework or have simple fixed-delay retry needs.
Install
aioretry on PyPI
Before you install
Low friction: pure Python wheel with no runtime dependencies. Maintenance is aging—last release was 540 days ago, though the repository remains active with a recent commit on 2025-02-20.
Requires Python 3.7 or later; target function must be async or return an awaitable.
License in practice
MIT license permits free use, modification, and distribution with minimal restrictions; suitable for both open-source and commercial projects.
Quickstart
from aioretry import retry, RetryInfo
import asyncio
def retry_policy(info: RetryInfo):
return False, (info.fails - 1) % 3 * 0.1
@retry(retry_policy)
async def connect_to_server():
pass
asyncio.run(connect_to_server())
Verify before relying
- Whether the aging maintenance status (540 days since last release) affects real-world reliability or if the stable API means infrequent updates are acceptable.
- Performance characteristics under high concurrency or with very frequent retries.
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release >=3.7 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Aging 540 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 130,941 / month, #11,618 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: PyPyTopic :: Software Development :: Libraries :: Python Modules |
Evidence: aioretry-6.3.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “asyncio retry decorator”
- aioretryProvides a decorator-based retry mechanism for async functions in…
- python-backoffProvides function decorators for retrying operations with…
- backoffProvides function decorators to automatically retry code on…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also reretry · retry · retry2 · pyramid-retry · python-retry · waiter · retrying · awsretry · retry-decorator · eth-retry