Standalone HTTP Request Signers for Amazon Web Services
Project Links
Meta
Author: Amazon Web Services
Requires Python: >=3.12
Classifiers
Development Status
- 2 - Pre-Alpha
Intended Audience
- Developers
- System Administrators
License
- OSI Approved :: Apache Software License
Natural Language
- English
Operating System
- OS Independent
Programming Language
- Python
- Python :: 3
- Python :: 3 :: Only
- Python :: 3.12
- Python :: 3.13
- Python :: 3.14
- Python :: Implementation :: CPython
Topic
- Software Development :: Libraries
AWS SDK Signers for Python
AWS SDK Signers for Python provides stand-alone signing functionality. This enables users to create standardized request signatures (currently only SigV4) and apply them to common HTTP utilities like AIOHTTP, Curl, Postman, Requests and urllib3.
This project is currently in an Alpha phase of development. There likely will be breakages and redesigns between minor patch versions as we collect user feedback. We strongly recommend pinning to a minor version and reviewing the changelog carefully before upgrading.
Getting Started
Currently, the aws-sdk-signers module provides two high level signers,
AsyncSigV4Signer and SigV4Signer.
Both of these signers takes three inputs to their primary sign method.
- A SigV4SigningProperties object defining:
- The service for the request,
- The intended AWS region (e.g. us-west-2),
- An optional date that will be auto-populated with the current time if not supplied,
- An optional boolean, payload_signing_enabled to toggle payload signing. True by default.
- An optional boolean, content_checksum_enabled, to include the x-amz-content-sha256 header. True by default.
- An optional boolean, uri_encode_path, to toggle double-encoding the URI path. True by default.
- An AWSRequest, similar to the AWSRequest object from boto3 or the Request object from Requests.
- An AWSCredentialIdentity, a dataclass holding standard AWS credential information.
License
This project is licensed under the Apache-2.0 License.
Wheel compatibility matrix
Files in release
No dependencies