--- id: requests-aws-sign version: "0.1.6" license: ISC license_treatment: permissive maintenance: abandoned --- # requests-aws-sign — This package provides AWS V4 request signing using the requests library. License: permissive · Maintenance: abandoned · Downloads: 3.1M/mo ## What it is and what it does requests-aws-sign is a thin wrapper that plugs AWS V4 request signing into the requests library's authentication system. It takes a boto3 credentials object, an AWS region, and a service name, then returns an auth handler that automatically signs outgoing HTTP requests with the required AWS headers (X-Amz-Date, X-Amz-Security-Token, Authorization). This lets you make authenticated calls to AWS services like Elasticsearch, API Gateway, or any other service that accepts IAM-signed requests. The package depends on requests and boto3. It is designed to work with boto3's credential chain, so it can use environment variables, assume-role profiles, or EC2 instance IAM roles. However, the package has been abandoned since 2020-07-05 and was originally written for Python 2.6–3.5, raising questions about compatibility with modern Python and current AWS SDK versions. Use it for: - Sign requests to AWS Elasticsearch domains that require IAM authentication instead of basic auth. - Authenticate direct HTTP calls to API Gateway endpoints protected by IAM policies. - Build custom AWS service clients using requests when the official boto3 client is not suitable. - Integrate AWS request signing into existing requests-based HTTP workflows without rewriting to boto3. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Adds AWS V4 request signing to the requests library, allowing you to authenticate HTTP requests to AWS services using IAM credentials. No. The package is abandoned (last commit 2020-07-05) and targets Python versions that are now end-of-life. While it has low install friction and a permissive license, its compatibility with modern Python and current boto3/requests versions is unverified. For new projects, use boto3's built-in clients; for existing requests-based code, consider migrating or forking if you need to maintain it. ## Install pip install requests-aws-sign uv add requests-aws-sign poetry add requests-aws-sign ## Installing requests-aws-sign Before you install: Installation is straightforward with low friction. However, the package is abandoned—last release was 2020-07-05 and no commits since then. Compatibility with modern Python versions is unverified. License in practice: Licensed under ISC (permissive), so you can use it freely in commercial and open-source projects without significant legal constraints. Quickstart: pip install requests-aws-sign import requests from requests_aws_sign import AWSV4Sign from boto3 import session sess = session.Session() creds = sess.get_credentials() region = sess.region_name or 'ap-southeast-2' auth = AWSV4Sign(creds, region, 'es') response = requests.get('https://es-domain.ap-southeast-2.es.amazonaws.com/', auth=auth) Requires valid AWS credentials available to boto3 (environment variables, IAM role, or profile configuration) and a specified AWS region. Verify before relying: - Whether the package works with Python versions beyond 3.5 despite classifiers only listing up to 3.5. - Whether it remains compatible with current versions of requests and boto3 given the 2020 last release date. - Whether AWS V4 signing behavior has changed since 2020 in ways that would break this package. ## Package facts - License: ISC (permissive) - Python support: unspecified - Install friction: low - Maintenance: abandoned - Downloads: 3.1M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags aws v4 request signing, sign requests to aws services, requests library aws authentication, boto3 credentials with requests, aws iam http request signing, aws-authentication, deprecated-unmaintained [View on SkillFed](https://skillfed.io/packages/requests-aws-sign) · [View on PyPI](https://pypi.org/project/requests-aws-sign/)