|
| 1 | +## AWS SDK Signers for Python |
| 2 | + |
| 3 | +AWS SDK Signers for Python provides stand-alone signing functionality. This enables users to |
| 4 | +create standardized request signatures (currently only SigV4) and apply them to |
| 5 | +common HTTP utilities like AIOHTTP, Curl, Postman, Requests and urllib3. |
| 6 | + |
| 7 | +This project is currently in an **Alpha** phase of development. There likely |
| 8 | +will be breakages and redesigns between minor patch versions as we collect |
| 9 | +user feedback. We strongly recommend pinning to a minor version and reviewing |
| 10 | +the changelog carefully before upgrading. |
| 11 | + |
| 12 | +## Getting Started |
| 13 | + |
| 14 | +Currently, the `aws-sdk-signers` module provides two high level signers, |
| 15 | +`AsyncSigV4Signer` and `SigV4Signer`. |
| 16 | + |
| 17 | +Both of these signers takes three inputs to their primary `sign` method. |
| 18 | + |
| 19 | +* A [**SigV4SigningProperties**](https://github.com/smithy-lang/smithy-python/blob/3d205be8ece1c5f4c992a29ce9757c5562e59322/packages/aws-sdk-signers/src/aws_sdk_signers/signers.py#L43-L49) object defining: |
| 20 | + * The service for the request, |
| 21 | + * The intended AWS region (e.g. us-west-2), |
| 22 | + * An optional date that will be auto-populated with the current time if not supplied, |
| 23 | + * An optional boolean, payload_signing_enabled to toggle payload signing. True by default. |
| 24 | + * An optional boolean, content_checksum_enabled, to include the x-amz-content-sha256 header. True by default. |
| 25 | + * An optional boolean, uri_encode_path, to toggle double-encoding the URI path. True by default. |
| 26 | +* An [**AWSRequest**](https://github.com/smithy-lang/smithy-python/blob/3d205be8ece1c5f4c992a29ce9757c5562e59322/packages/aws-sdk-signers/src/aws_sdk_signers/_http.py#L335), similar to the [AWSRequest object](https://github.com/boto/botocore/blob/7d197f9e1fe903ba3badee62a1ecac916ba2cfb5/botocore/awsrequest.py#L433) from boto3 or the [Request object](https://requests.readthedocs.io/en/latest/api/#requests.Request) from Requests. |
| 27 | +* An [**AWSCredentialIdentity**](https://github.com/smithy-lang/smithy-python/blob/3d205be8ece1c5f4c992a29ce9757c5562e59322/packages/aws-sdk-signers/src/aws_sdk_signers/_identity.py#L11), a dataclass holding standard AWS credential information. |
| 28 | + |
| 29 | +## License |
| 30 | + |
| 31 | +This project is licensed under the Apache-2.0 License. |
0 commit comments