requests-aws-sign
This package provides AWS V4 request signing using the requests library.
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires valid AWS credentials available to boto3 (environment variables, IAM role, or profile configuration) and a specified AWS region.
- Installation is straightforward with low friction.
- However, the package is abandoned—last release was 2020-07-05 and no commits since then.
License · maintenance · safety
ISC (permissive) — Licensed under ISC (permissive), so you can use it freely in commercial and open-source projects without significant legal constraints.
last release 2020-07-05 (2231 days) · last repo commit 2020-07-05 · 50 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 3,114,213 downloads/mo, #2,747 on PyPI
Alternatives
Verify before relying
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)- 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.
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 on this page. Verify before relying on it.
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
requests-aws-sign on PyPI
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.
Requires valid AWS credentials available to boto3 (environment variables, IAM role, or profile configuration) and a specified AWS region.
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)
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 | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesrequestsboto3 |
| Maintenance | Abandoned 2,231 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 3,114,213 / month, #2,747 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: ISC License (ISCL)Programming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 2.6Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5 |
Evidence: requests_aws_sign-0.1.6-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 › “aws v4 request signing”
- requests-aws-signAdds AWS V4 request signing to the requests library, allowing you to…
- aws-request-signerSigns HTTP requests using AWS Signature V4, generating authorization…
- requests-aws4authAdds AWS Signature Version 4 authentication to Python Requests,…
Give your agent the search over MCP, or paste the wish link into any chat.
More WWW/HTTP packages
urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.
Requests is a Python HTTP library that simplifies sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, and response parsing.
h11 is a pure-Python HTTP/1.1 protocol implementation that handles parsing and serializing HTTP messages without any built-in I/O, letting you integrate it with any network layer you choose.
HTTPX is a fully featured HTTP client library for Python that provides both sync and async APIs, with support for HTTP/1.1 and HTTP/2, plus an integrated command-line client.
Install it if you are building new projects or modernizing existing ones that rely on HTTP.
A minimal low-level HTTP client library that sends HTTP requests with thread-safe and task-safe connection pooling, supporting HTTP/1.1, HTTP/2, proxies, and both sync and async interfaces.
aiohttp is an async HTTP client and server framework built on asyncio, supporting both WebSockets and middleware-based routing for building concurrent web applications.
Install it if you need async HTTP client or server capabilities in asyncio-based applications.
See also aws-msk-iam-sasl-signer-python · awscurl · requests-auth-aws-sigv4 · requests-aws4auth · requests-sigv4 · aws-requests-auth · veracode-api-signing · cassandra-sigv4 · aws-request-signer · turnkey-api-key-stamper