skillfed

aws-request-signer

A python library to sign AWS requests using AWS Signature V4.

aws-request-signer v1.2.0 148.0K downloads/30d#11,046 on PyPI27
Permissive license MIT Active released

What it is and what it does

aws-request-signer is a lightweight Python library that handles AWS Signature V4 request signing for HTTP requests. It generates the cryptographic signatures and authorization headers needed to authenticate requests to AWS services and AWS-compatible endpoints like MinIO. The library is intentionally unopinionated—it works with any HTTP client (requests, aiohttp, etc.) and requires no external dependencies, making it easy to integrate into existing projects.

The package supports three signing workflows: adding authorization headers directly to requests, pre-signing URLs for temporary access, and signing S3 POST policies for HTML form uploads. It includes an optional authentication helper for the requests library but can be used standalone with any HTTP transport. The codebase is actively maintained, supports Python 3.6.1 and newer, and has no known security vulnerabilities.

Use it for:

  • Sign requests to upload or download files from S3 or MinIO buckets programmatically
  • Generate pre-signed URLs for temporary, shareable access to S3 objects without exposing credentials
  • Authenticate API calls to AWS services (DynamoDB, Lambda, etc.) from custom HTTP clients
  • Sign S3 POST policies for browser-based file uploads directly to S3
  • Integrate AWS request signing into async applications using aiohttp or similar libraries

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Signs HTTP requests using AWS Signature V4, generating authorization headers, pre-signed URLs, and S3 POST policies for AWS and compatible services.

Yes. The package solves a specific, well-defined problem (AWS Signature V4 signing) with zero dependencies, active maintenance, and no security issues. Install it if you need to sign AWS requests outside the official SDK or in environments where the full boto3 library is overkill.

Install

aws-request-signer on PyPI

pip

pip install aws-request-signer

uv

uv add aws-request-signer

poetry

poetry add aws-request-signer

Installing aws-request-signer

Before you install

Low friction: pure Python, no runtime dependencies, and actively maintained with recent commits. Supports Python 3.6.1 through current versions.

License in practice

MIT license permits commercial and private use with minimal restrictions; you may use, modify, and distribute freely provided you retain the license notice.

Quickstart

pip install aws-request-signer

from aws_request_signer import AwsRequestSigner
import hashlib

signer = AwsRequestSigner('us-east-1', 'access_key', 'secret_key', 's3')
headers = signer.sign_with_headers('PUT', 'http://s3.example.com/bucket/key', {}, hashlib.sha256(b'data').hexdigest())

Verify before relying

  • Whether the library works with all AWS services or only S3-compatible endpoints
  • Performance characteristics when signing high volumes of requests
  • Compatibility with async HTTP clients beyond the aiohttp mention in the description

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.6.1,<4.0.0)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance actively maintained — 1,271 days since the last release
Last repo commit
First released
Downloads 148,038/month — #11,046 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: aws_request_signer-1.2.0-py3-none-any.whl

License :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9

Tags

AWS signature V4 signingsign HTTP requests AWSAWS request authenticationS3 pre-signed URLsAWS authorization headersminio S3 signingAWS request signer
aws-authenticationhttp-signings3-compatible

More Cryptography packages