skillfed

requests-aws-sign

This package provides AWS V4 request signing using the requests library.

requests-aws-sign v0.1.6 3.1M downloads/30d#2,747 on PyPI50
Permissive license ISC Abandoned released

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

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

requests-aws-sign on PyPI

pip

pip install requests-aws-sign

uv

uv add requests-aws-sign

poetry

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 not specified
Install friction low — pure-Python wheel
Runtime dependencies 2 — requests, boto3
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)

Evidence: requests_aws_sign-0.1.6-py3-none-any.whl

Keywords: requests, aws

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

Tags

aws v4 request signingsign requests to aws servicesrequests library aws authenticationboto3 credentials with requestsaws iam http request signing
aws-authenticationdeprecated-unmaintained

More WWW/HTTP packages