skillfed

awsretry

Decorate your AWS Boto3 Calls with AWSRetry.backoff(). This will allows your calls to get around the AWS Eventual Consistency Errors.

awsretry v1.0.2 106.3K downloads/30d#12,657 on PyPI46
Permissive license MIT Abandoned released

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 awsretry

uv

uv add awsretry

poetry

poetry add awsretry

Installing 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

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.6Topic :: Software Development :: Build Tools

Tags

aws api retry decoratoraws rate limit handlingeventual consistency retrytransient error backoffaws api exponential backoffretry aws service callsaws api resilience
aws-integrationretry-patternabandoned

More Build Tools packages