aiotainer


Nameaiotainer JSON
Version 0.0.1b4 PyPI version JSON
download
home_pagehttps://github.com/Thomas55555/aiotainer
SummaryMPython module to talk to a Portainer.
upload_time2024-11-13 17:25:50
maintainerNone
docs_urlNone
authorThomas Peter Protzner
requires_python<4.0,>=3.11
licenseMIT
keywords portainer docker api async client
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # aiotainer

[![codecov](https://codecov.io/gh/Thomas55555/aiotainer/graph/badge.svg?token=Hn1Qp8ZvOt)](https://codecov.io/gh/Thomas55555/aiotainer)
[![Python Versions](https://img.shields.io/pypi/pyversions/aiotainer)](https://pypi.org/project/aiotainer/)
[![License](https://img.shields.io/github/license/Thomas55555/aiotainer.svg)](LICENSE.md)

Asynchronous library to communicate with the Portainer API

## Quickstart

In order to use the library, you'll need to do some work yourself to get authentication
credentials. This depends a lot on the context (e.g. redirecting to use OAuth via web)
but should be easy to incorporate using Portainers's authentication examples. See
Portainers's [Authentication](https://docs.portainer.io/admin/settings/authentication) for details.

You will implement `AbstractAuth` to provide an access token. Your implementation
will handle any necessary refreshes. You can invoke the service with your auth implementation
to access the API.

You need at least:

- Python 3.11+
- [Poetry][poetry-install]

For a first start you can run the `example.py`, by doing the following steps

- `git clone https://github.com/Thomas55555/aiotainer.git`
- `cd aiotainer`
- `poetry install`
- Enter your personal `client_id` and `client_secret` in the `_secrets.yaml` and rename it to `secrets.yaml`
- Run with `poetry run ./example.py`

## Contributing

This is an active open-source project. We are always open to people who want to use the code or contribute to it.
This Python project is fully managed using the [Poetry][poetry] dependency manager.

As this repository uses the [pre-commit][pre-commit] framework, all changes
are linted and tested with each commit. You can run all checks and tests
manually, using the following command:

```bash
poetry run pre-commit run --all-files
```

To run just the Python tests:

```bash
poetry run pytest
```

To update snapshots:

```bash
poetry run pytest --snapshot-update
```

[poetry-install]: https://python-poetry.org/docs/#installation
[poetry]: https://python-poetry.org
[pre-commit]: https://pre-commit.com/


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Thomas55555/aiotainer",
    "name": "aiotainer",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.11",
    "maintainer_email": null,
    "keywords": "Portainer, Docker, api, async, client",
    "author": "Thomas Peter Protzner",
    "author_email": "thomas.protzner@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/e2/f2/90c5a07397fa42ab069c0f6ea4178343d2f0d38b03a613814fe0c0ee3caa/aiotainer-0.0.1b4.tar.gz",
    "platform": null,
    "description": "# aiotainer\n\n[![codecov](https://codecov.io/gh/Thomas55555/aiotainer/graph/badge.svg?token=Hn1Qp8ZvOt)](https://codecov.io/gh/Thomas55555/aiotainer)\n[![Python Versions](https://img.shields.io/pypi/pyversions/aiotainer)](https://pypi.org/project/aiotainer/)\n[![License](https://img.shields.io/github/license/Thomas55555/aiotainer.svg)](LICENSE.md)\n\nAsynchronous library to communicate with the Portainer API\n\n## Quickstart\n\nIn order to use the library, you'll need to do some work yourself to get authentication\ncredentials. This depends a lot on the context (e.g. redirecting to use OAuth via web)\nbut should be easy to incorporate using Portainers's authentication examples. See\nPortainers's [Authentication](https://docs.portainer.io/admin/settings/authentication) for details.\n\nYou will implement `AbstractAuth` to provide an access token. Your implementation\nwill handle any necessary refreshes. You can invoke the service with your auth implementation\nto access the API.\n\nYou need at least:\n\n- Python 3.11+\n- [Poetry][poetry-install]\n\nFor a first start you can run the `example.py`, by doing the following steps\n\n- `git clone https://github.com/Thomas55555/aiotainer.git`\n- `cd aiotainer`\n- `poetry install`\n- Enter your personal `client_id` and `client_secret` in the `_secrets.yaml` and rename it to `secrets.yaml`\n- Run with `poetry run ./example.py`\n\n## Contributing\n\nThis is an active open-source project. We are always open to people who want to use the code or contribute to it.\nThis Python project is fully managed using the [Poetry][poetry] dependency manager.\n\nAs this repository uses the [pre-commit][pre-commit] framework, all changes\nare linted and tested with each commit. You can run all checks and tests\nmanually, using the following command:\n\n```bash\npoetry run pre-commit run --all-files\n```\n\nTo run just the Python tests:\n\n```bash\npoetry run pytest\n```\n\nTo update snapshots:\n\n```bash\npoetry run pytest --snapshot-update\n```\n\n[poetry-install]: https://python-poetry.org/docs/#installation\n[poetry]: https://python-poetry.org\n[pre-commit]: https://pre-commit.com/\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "MPython module to talk to a Portainer.",
    "version": "0.0.1b4",
    "project_urls": {
        "Documentation": "https://github.com/Thomas55555/aiotainer",
        "Homepage": "https://github.com/Thomas55555/aiotainer",
        "Issues": "https://github.com/Thomas55555/aiotainer/issues",
        "Repository": "https://github.com/Thomas55555/aiotainer"
    },
    "split_keywords": [
        "portainer",
        " docker",
        " api",
        " async",
        " client"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e5b03399410972e36821b99f17fca5a85d80e930b7fd279a2a2f3b1e3a631e50",
                "md5": "1326fbea8f4b8b87e89f83773c78e722",
                "sha256": "d8ec8c8260b2978466117eb750bdaef8749415c2d7c568d4b634654f0023746f"
            },
            "downloads": -1,
            "filename": "aiotainer-0.0.1b4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1326fbea8f4b8b87e89f83773c78e722",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.11",
            "size": 10983,
            "upload_time": "2024-11-13T17:25:48",
            "upload_time_iso_8601": "2024-11-13T17:25:48.959627Z",
            "url": "https://files.pythonhosted.org/packages/e5/b0/3399410972e36821b99f17fca5a85d80e930b7fd279a2a2f3b1e3a631e50/aiotainer-0.0.1b4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "e2f290c5a07397fa42ab069c0f6ea4178343d2f0d38b03a613814fe0c0ee3caa",
                "md5": "b4491a5932c3c43b47df8d36c479adfa",
                "sha256": "41419c0232af2b7193e4ffa755c1a1bca4a2db5b09e731c4e60ab9dffc424afe"
            },
            "downloads": -1,
            "filename": "aiotainer-0.0.1b4.tar.gz",
            "has_sig": false,
            "md5_digest": "b4491a5932c3c43b47df8d36c479adfa",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.11",
            "size": 12863,
            "upload_time": "2024-11-13T17:25:50",
            "upload_time_iso_8601": "2024-11-13T17:25:50.413855Z",
            "url": "https://files.pythonhosted.org/packages/e2/f2/90c5a07397fa42ab069c0f6ea4178343d2f0d38b03a613814fe0c0ee3caa/aiotainer-0.0.1b4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-13 17:25:50",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Thomas55555",
    "github_project": "aiotainer",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "aiotainer"
}
        
Elapsed time: 0.60221s