# awsync
![CICD](https://github.com/JKCT/awsync/actions/workflows/cicd.yaml/badge.svg)
An asynchronous, fully-typed AWS API library with a focus on being understandable, reliable, and maintainable.
## Getting Started
📖 Read [the documentation](https://jkct.github.io/awsync/)!
**NOTE: Currently a work in progress!**
Only a few API methods currently implemented for testing and development.
## Usage
```python
"Module main."
from asyncio import run
from httpx import AsyncClient
from awsync.client import Client
from awsync.models.aws import Region, Credentials
async def main() -> int:
"Main function."
async with AsyncClient() as httpx_client:
client = Client(
credentials=Credentials.from_environment(),
httpx_client=httpx_client,
)
response = await client.list_stack_resources(
region=Region.us_east_1, stack_name="Example-Stack-Name"
)
print(response)
return 0
if __name__ == "__main__":
run(main())
```
## Local Developer Setup
Requirements:
- [mise](https://mise.jdx.dev/)
- [python](https://www.python.org/) 3.8 or greater
- [poetry](https://python-poetry.org/)
[Install mise](https://mise.jdx.dev/getting-started.html) then run `mise run init` to setup python, poetry, and install dependencies.
### Repository Mangement
This repository uses [mise](https://mise.jdx.dev/) for tool and task management.
List all available commands with `mise tasks`.
Run all pull request checks locally with `mise run pr`
### Package Management
This repository uses [poetry](https://python-poetry.org/) for python package management.
- `poetry install --sync` install/update dependencies.
- `poetry add` add a dependency ie. `poetry add black`.
- `poetry add -D` add a development dependency ie. `poetry add -D black`.
- `poetry remove` remove a dependency ie. `poetry remove black`.
- `poetry shell` activate the python virtual environment for access to installed packages.
- `exit` exit the python virtual environment.
Raw data
{
"_id": null,
"home_page": "https://github.com/JKCT/awsync",
"name": "awsync",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.8",
"maintainer_email": null,
"keywords": "aws, async, boto, request, sdk, typed",
"author": "JKCT",
"author_email": "jkct@visceralfx.com",
"download_url": "https://files.pythonhosted.org/packages/03/5d/c697d161eca7a53ea0c707a8cbda14df6c74bfad1876a0faef0c5b8f516d/awsync-0.4.5.tar.gz",
"platform": null,
"description": "# awsync\n\n![CICD](https://github.com/JKCT/awsync/actions/workflows/cicd.yaml/badge.svg)\n\nAn asynchronous, fully-typed AWS API library with a focus on being understandable, reliable, and maintainable.\n\n## Getting Started\n\n\ud83d\udcd6 Read [the documentation](https://jkct.github.io/awsync/)!\n\n**NOTE: Currently a work in progress!**\nOnly a few API methods currently implemented for testing and development.\n\n## Usage\n\n```python\n\"Module main.\"\nfrom asyncio import run\nfrom httpx import AsyncClient\n\nfrom awsync.client import Client\nfrom awsync.models.aws import Region, Credentials\n\n\nasync def main() -> int:\n \"Main function.\"\n async with AsyncClient() as httpx_client:\n client = Client(\n credentials=Credentials.from_environment(),\n httpx_client=httpx_client,\n )\n response = await client.list_stack_resources(\n region=Region.us_east_1, stack_name=\"Example-Stack-Name\"\n )\n print(response)\n return 0\n\n\nif __name__ == \"__main__\":\n run(main())\n```\n\n## Local Developer Setup\n\nRequirements:\n\n- [mise](https://mise.jdx.dev/)\n- [python](https://www.python.org/) 3.8 or greater\n- [poetry](https://python-poetry.org/)\n\n[Install mise](https://mise.jdx.dev/getting-started.html) then run `mise run init` to setup python, poetry, and install dependencies.\n\n### Repository Mangement\n\nThis repository uses [mise](https://mise.jdx.dev/) for tool and task management.\n\nList all available commands with `mise tasks`.\n\nRun all pull request checks locally with `mise run pr`\n\n### Package Management\n\nThis repository uses [poetry](https://python-poetry.org/) for python package management.\n\n- `poetry install --sync` install/update dependencies.\n- `poetry add` add a dependency ie. `poetry add black`.\n- `poetry add -D` add a development dependency ie. `poetry add -D black`.\n- `poetry remove` remove a dependency ie. `poetry remove black`.\n- `poetry shell` activate the python virtual environment for access to installed packages.\n- `exit` exit the python virtual environment.\n",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "An asynchronous, fully-typed AWS API library with a focus on being understandable, reliable, and maintainable.",
"version": "0.4.5",
"project_urls": {
"Documentation": "https://jkct.github.io/awsync/",
"Homepage": "https://github.com/JKCT/awsync",
"Repository": "https://github.com/JKCT/awsync"
},
"split_keywords": [
"aws",
" async",
" boto",
" request",
" sdk",
" typed"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "768b31aec5abfe1a449829a3c53e4ae84230c62a82d5f4f0cdf22891dd19d796",
"md5": "b216e7d8011bcad80cb88af9c37ab4ad",
"sha256": "7eb80edf3993c842dde78ca4593bac4c7f2daedb7f8a8a8f5f2620b03868e701"
},
"downloads": -1,
"filename": "awsync-0.4.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b216e7d8011bcad80cb88af9c37ab4ad",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.8",
"size": 14890,
"upload_time": "2024-05-20T23:52:01",
"upload_time_iso_8601": "2024-05-20T23:52:01.151628Z",
"url": "https://files.pythonhosted.org/packages/76/8b/31aec5abfe1a449829a3c53e4ae84230c62a82d5f4f0cdf22891dd19d796/awsync-0.4.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "035dc697d161eca7a53ea0c707a8cbda14df6c74bfad1876a0faef0c5b8f516d",
"md5": "e215ce5a715a73802bde64b25ecd3de2",
"sha256": "93b4d197f417f0760692ba4ce831da0a96e283c021d3c83ebbeadbd48c551161"
},
"downloads": -1,
"filename": "awsync-0.4.5.tar.gz",
"has_sig": false,
"md5_digest": "e215ce5a715a73802bde64b25ecd3de2",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.8",
"size": 13658,
"upload_time": "2024-05-20T23:52:02",
"upload_time_iso_8601": "2024-05-20T23:52:02.956114Z",
"url": "https://files.pythonhosted.org/packages/03/5d/c697d161eca7a53ea0c707a8cbda14df6c74bfad1876a0faef0c5b8f516d/awsync-0.4.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-20 23:52:02",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "JKCT",
"github_project": "awsync",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "awsync"
}