awsretry
Decorate your AWS Boto3 Calls with AWSRetry.backoff(). This will allows your calls to get around the AWS Eventual Consistency Errors.
What it is and what it does
AWSRetry is a Python decorator that wraps AWS API calls to handle transient failures automatically. It retries on common exceptions including RequestLimitExceeded, Unavailable, ServiceUnavailable, InternalFailure, InternalError, and pattern-matched NotFound errors, with configurable exponential backoff. The decorator accepts parameters to control retry attempts (default 10), initial delay in seconds (default 3), backoff multiplier (default 1.1), and custom exceptions to retry on.
The package was designed to work around AWS's eventual consistency model and API rate limiting. However, it has not been maintained since its initial release in January 2017, with no commits after August 2022, making it a legacy tool that may not handle current error types or work reliably with modern versions of dependent libraries.
Use it for:
- Wrap AWS API calls to tolerate temporary service unavailability during high-load periods.
- Retry operations that fail due to rate limiting or concurrent access conflicts.
- Handle eventual consistency delays when querying recently created or modified resources.
- Add automatic backoff to AWS calls without rewriting retry logic in application code.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A decorator that wraps AWS API calls to automatically retry on common transient failures like rate limits, service unavailability, and eventual consistency errors.
No. The package is abandoned and has not been updated since January 2017. Modern AWS SDKs include built-in retry mechanisms that handle transient errors more robustly. If you need retry logic for AWS calls, use the SDK's native retry configuration or a maintained general-purpose retry library instead.
Install
awsretry on PyPI
pip
pip install awsretryuv
uv add awsretrypoetry
poetry add awsretryInstalling awsretry
Before you install
High install friction with no runtime dependencies. The package is abandoned—last released in January 2017 with no commits since August 2022. Use only if you cannot migrate to actively maintained alternatives.
License in practice
MIT license is permissive; you can use this package freely in commercial and open-source projects with minimal restrictions.
Quickstart
pip install awsretry
from awsretry import AWSRetry
@AWSRetry.backoff(tries=10, delay=3, backoff=1.1)
def get_instances():
# AWS API call wrapped here
pass
get_instances()
Requires AWS credentials to be configured separately and a compatible AWS SDK installed.
Verify before relying
- Whether the package works correctly with current AWS API error types and modern SDK versions.
- Whether the default retry exceptions (RequestLimitExceeded, Unavailable, ServiceUnavailable, InternalFailure, InternalError, NotFound patterns) still match current AWS responses.
- Whether Python 2.7 and 3.6 support listed in classifiers is still tested or relevant.
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | high — source build required |
| Runtime dependencies | none |
| Maintenance | abandoned — 3,482 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 106,323/month — #12,657 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Keywords: boto3, aws, retry, awsretry, backoff
Tags
More Build Tools packages
Provides reusable utilities for Python…
permissive · top 100 on PyPI
tqdmWraps any iterable to display a real-time…
copyleft · top 100 on PyPI
pippip is the standard installer for Python…
permissive · top 100 on PyPI
hatchlingHatchling is a standards-compliant Python build…
permissive · top 100 on PyPI
grpcio-toolsGenerates Python gRPC service stubs and message…
permissive · top 1,000 on PyPI
pre-commitpre-commit is a framework for installing and…
permissive · top 1,000 on PyPI
aws-error-utilsWraps botocore ClientError exceptions to…
permissive · top 15,000 on PyPI
retry2Provides a decorator and function wrapper to…
permissive · top 5,000 on PyPI
reretryA decorator and function wrapper for retrying…
permissive · top 15,000 on PyPI
eth-retryA decorator that automatically retries…
permissive · top 15,000 on PyPI
retryProvides a decorator and function wrapper for…
permissive · top 1,000 on PyPI
retry-decoratorProvides a decorator to automatically retry a…
permissive · top 15,000 on PyPI
python-retryProvides a decorator to automatically retry…
permissive · top 15,000 on PyPI
retryhttpRetryhttp wraps HTTP client calls to…
permissive · top 5,000 on PyPI
python-backoffProvides function decorators for retrying…
permissive · top 5,000 on PyPI
botoinatorBotoinator lets you attach decorators to boto3…
permissive · top 15,000 on PyPI