# Aioautomower
[![codecov](https://codecov.io/gh/Thomas55555/aioautomower/graph/badge.svg?token=2BG3S61T6K)](https://codecov.io/gh/Thomas55555/aioautomower)
[![Python Versions](https://img.shields.io/pypi/pyversions/aioautomower)](https://pypi.org/project/aioautomower/)
[![License](https://img.shields.io/github/license/Thomas55555/aioautomower.svg)](LICENSE.md)
Asynchronous library to communicate with the Automower Connect API
To use this library, you need to register on the [Husqvarna Developers Portal](https://developer.husqvarnagroup.cloud/).
And connect your account to the `Authentication API` and the `Automower Connect 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 Husqvarna's authentication examples. See
Husqvarna's [Authentication API](https://developer.husqvarnagroup.cloud/apis/authentication-api) 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/aioautomower.git`
- `cd aioautomower`
- `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/aioautomower",
"name": "aioautomower",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.11",
"maintainer_email": null,
"keywords": "Husqvarna, Automower, api, async, client",
"author": "Thomas Peter Protzner",
"author_email": "thomas.protzner@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/21/c4/2916749351c0d0f7cba62a146ff9e61c066050977f920b6ea3b369b8033a/aioautomower-2024.10.2.tar.gz",
"platform": null,
"description": "# Aioautomower\n\n[![codecov](https://codecov.io/gh/Thomas55555/aioautomower/graph/badge.svg?token=2BG3S61T6K)](https://codecov.io/gh/Thomas55555/aioautomower)\n[![Python Versions](https://img.shields.io/pypi/pyversions/aioautomower)](https://pypi.org/project/aioautomower/)\n[![License](https://img.shields.io/github/license/Thomas55555/aioautomower.svg)](LICENSE.md)\n\nAsynchronous library to communicate with the Automower Connect API\nTo use this library, you need to register on the [Husqvarna Developers Portal](https://developer.husqvarnagroup.cloud/).\nAnd connect your account to the `Authentication API` and the `Automower Connect 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 Husqvarna's authentication examples. See\nHusqvarna's [Authentication API](https://developer.husqvarnagroup.cloud/apis/authentication-api) 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/aioautomower.git`\n- `cd aioautomower`\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 Husqvarna Automower.",
"version": "2024.10.2",
"project_urls": {
"Documentation": "https://github.com/Thomas55555/aioautomower",
"Homepage": "https://github.com/Thomas55555/aioautomower",
"Issues": "https://github.com/Thomas55555/aioautomower/issues",
"Repository": "https://github.com/Thomas55555/aioautomower"
},
"split_keywords": [
"husqvarna",
" automower",
" api",
" async",
" client"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ea4fd41c6c26dcb66bc1a90a4f50ba5aa2b3acf56bcb009bebc8a0945213f815",
"md5": "e6451cd88f5afc56db92b7acbfea52df",
"sha256": "39f26010a796834744f5acbf4c980e8274773435ce8f5d127a3dc192c1826c1a"
},
"downloads": -1,
"filename": "aioautomower-2024.10.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e6451cd88f5afc56db92b7acbfea52df",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.11",
"size": 22247,
"upload_time": "2024-10-18T21:33:55",
"upload_time_iso_8601": "2024-10-18T21:33:55.990160Z",
"url": "https://files.pythonhosted.org/packages/ea/4f/d41c6c26dcb66bc1a90a4f50ba5aa2b3acf56bcb009bebc8a0945213f815/aioautomower-2024.10.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "21c42916749351c0d0f7cba62a146ff9e61c066050977f920b6ea3b369b8033a",
"md5": "1ece5aaccf0670078805464ec1e09c6c",
"sha256": "3f617e7bd31e776dc8a26f55ee27b785c2ba83c7e72f686b5b224d5cd1612a86"
},
"downloads": -1,
"filename": "aioautomower-2024.10.2.tar.gz",
"has_sig": false,
"md5_digest": "1ece5aaccf0670078805464ec1e09c6c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.11",
"size": 26122,
"upload_time": "2024-10-18T21:33:57",
"upload_time_iso_8601": "2024-10-18T21:33:57.103928Z",
"url": "https://files.pythonhosted.org/packages/21/c4/2916749351c0d0f7cba62a146ff9e61c066050977f920b6ea3b369b8033a/aioautomower-2024.10.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-18 21:33:57",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Thomas55555",
"github_project": "aioautomower",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "aioautomower"
}