/aio-aws

Asyncio utils for AWS Services

Primary LanguagePythonApache License 2.0Apache-2.0

aio-aws

Build Status Documentation Status

PyPI version Python versions

Asynchronous functions and tools for AWS services. There is a limited focus on s3 and AWS Batch and Lambda. Additional services could be added, but this project is likely to retain a limited focus. For general client solutions, see aioboto3 and aiobotocore, which wrap botocore

The API documentation is at readthedocs

Install

This project has a very limited focus. For general client solutions, see aioboto3 and aiobotocore, which wrap botocore to patch it with features for async coroutines using aiohttp and asyncio.

This project is alpha-status with a 0.x.y API version that could break. There is no promise to support or develop it extensively, at this time.

pip

pip install -U aio-aws[all]
pip check  # pip might not guarantee consistent packages

poetry

poetry will try to guarantee consistent packages or fail.

# with optional extras
poetry add aio-aws --extras all
# pyproject.toml snippet

[tool.poetry.dependencies]
python = "^3.7"

# with optional extras
aio-aws = {version = "^0.1.0", extras = ["all"]}

# or, to make it an optional extra
aio-aws = {version = "^0.1.0", extras = ["all"], optional = true}
[tool.poetry.extras]
aio-aws = ["aio-aws"]

Contributing

To use the source code, it can be cloned directly. Contributions are welcome via github flow and pull requests. To contribute to the project, first fork it and clone the forked repository.

The following setup assumes that miniconda3 and poetry are installed already (and make 4.x).

git clone https://github.com/dazza-codes/aio-aws
cd aio-aws
conda create -n aio-aws python=3.8
conda activate aio-aws
make init  # calls poetry install
make test

Note: on OSX, install GNU make >= 4.x using homebrew and substitute gmake for make.

Release Versions

Install pipx and use it to install versionner.

pipx install versionner
ver --help

With pipx and versionner installed, it can be used to manage releases for any python library. See the documentation for ver for details on how to manage sem-ver library releases. See .versionner.rc file for details of the project configuration.

License

Copyright 2019-2023 Darren Weber

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Notices

Inspiration for this project comes from various open source projects that use the Apache 2 license, including but not limited to: