awsync


Nameawsync JSON
Version 0.4.5 PyPI version JSON
download
home_pagehttps://github.com/JKCT/awsync
SummaryAn asynchronous, fully-typed AWS API library with a focus on being understandable, reliable, and maintainable.
upload_time2024-05-20 23:52:02
maintainerNone
docs_urlNone
authorJKCT
requires_python<4.0,>=3.8
licenseApache-2.0
keywords aws async boto request sdk typed
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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"
}
        
Elapsed time: 0.65477s