Metadata-Version: 2.1
Name: lowhaio-aws-sigv4
Version: 0.0.4
Summary: AWS Signature Version 4 signing for lowhaio
Home-page: https://github.com/michalc/lowhaio-aws-sigv4
Author: Michal Charemza
Author-email: michal@charemza.name
License: UNKNOWN
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Framework :: AsyncIO
Requires-Python: >=3.6.0
Description-Content-Type: text/markdown

# lowhaio-aws-sigv4 [![CircleCI](https://circleci.com/gh/michalc/lowhaio-aws-sigv4.svg?style=svg)](https://circleci.com/gh/michalc/lowhaio-aws-sigv4)

AWS Signature Version 4 signing for lowhaio


## Installation

```bash
pip install lowhaio lowhaio_aws_sigv4
```


## Usage

The `request` function returned from `lowhaio.Pool` must be wrapped with `lowhaio_aws_sigv4.signed`, as in the below example.

```python
import os
from lowhaio import Pool
from lowhaio_aws_sigv4 import signed

request, _ = Pool()

# A coroutine that returns a tuple a tuple of access key id, secret access
# key, any other headers, such as x-amz-security-token
async def credentials():
    return os.environ['AWS_ACCESS_KEY_ID'], os.environ['AWS_SECRET_ACCESS_KEY'], ()

signed_request = request(
    request, credentials=credentials, service='s3', region='eu-west-1',
)

code, headers, body = await signed_request(b'GET', 'https://s3-eu-west-1.amazonaws.com/my-bucket/my-key')

async for chunk in body:
    print(chunk)
```


