requests-aws4auth
AWS4 authentication for Requests
Install
requests-aws4auth on PyPI
pip
pip install requests-aws4authuv
uv add requests-aws4authpoetry
poetry add requests-aws4authPackage facts
| License | MIT License (permissive) |
| Python support | supports the current Python release (>=3.7) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — requests |
| Maintenance | actively maintained — 104 days since the last release |
| Last repo commit | |
| First released | |
| Popularity | one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-13) |
Evidence: requests_aws4auth-1.3.2-py3-none-any.whl
Keywords: requests, authentication, amazon, web, services, aws, s3, REST
About requests-aws4auth
from the package's own PyPI description — quoted content, verbatim
Amazon Web Services version 4 authentication for the Python Requests library.
Features
- Requests authentication for all AWS services that support AWS auth v4
- Independent signing key objects
- Automatic regeneration of keys when scope date boundary is passed
- Support for STS temporary credentials
Implements header-based authentication, GET URL parameter and POST parameter authentication are not supported.
Supported Services
This package has been tested as working against:
AppStream, AppSync, Auto-Scaling, CloudFormation, CloudFront, CloudHSM, CloudSearch, CloudTrail, CloudWatch Monitoring, CloudWatch Logs, CodeDeploy, Cognito Identity, Cognito Sync, Config, DataPipeline, Direct Connect, DynamoDB, Elastic Beanstalk, ElastiCache, EC2, EC2 Container Service, Elastic Load Balancing, Elastic MapReduce, ElasticSearch, Elastic Transcoder, Glacier, Identity and Access...
Read as markdown · JSON record · Source repository · Homepage
AI interpretation — verify before relying
AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page
Adds AWS Signature Version 4 authentication to Python requests, enabling authenticated calls to AWS services including S3, DynamoDB, Lambda, and others that support AWS auth v4.
Low friction: pure Python wheel with only requests as a runtime dependency. Active maintenance with recent release (104 days ago) and ongoing repository activity. Supports Python 3.7–3.12.
MIT License (permissive): you may use, modify, and distribute this package freely in commercial and private projects, with minimal restrictions beyond attribution.
Usage
pip install requests-aws4auth
import requests
from requests_aws4auth import AWS4Auth
auth = AWS4Auth('<ACCESS_ID>', '<ACCESS_KEY>', 'us-east-1', 's3')
response = requests.get('https://s3.amazonaws.com/', auth=auth)
Requires Python 3.7 or later; AWS credentials (access ID and key) must be available at runtime.
Verdict: Production-ready, actively maintained package for AWS authentication in requests. No known vulnerabilities, permissive MIT license, and minimal dependencies make it a safe choice for applications needing AWS API access. Well-suited for long-running services via optional botocore RefreshableCredentials integration.
Needs verification
- Whether automatic key regeneration on date mismatch is suitable for all use cases or if StrictAWS4Auth should be preferred
- Performance characteristics when handling high-volume requests with automatic credential refresh
Similar packages
permissive · top 1,000 on PyPI
boto3permissive · top 100 on PyPI
awsclipermissive · top 1,000 on PyPI
pydata-google-authpermissive · top 1,000 on PyPI
botocorepermissive · top 100 on PyPI
watchtowerpermissive · top 1,000 on PyPI
redshift-connectorpermissive · top 1,000 on PyPI
awswranglerpermissive · top 1,000 on PyPI
aioboto3permissive · top 1,000 on PyPI
elasticsearchpermissive · top 1,000 on PyPI