https://github.com/dknowles2/pydrawise
Asynchronous Python 3 library for interacting with Hydrawise sprinkler controllers through the GraphQL API
https://github.com/dknowles2/pydrawise
aot hydrawise hydrawise-api python smarthome sprinkler-controller
Last synced: 5 months ago
JSON representation
Asynchronous Python 3 library for interacting with Hydrawise sprinkler controllers through the GraphQL API
- Host: GitHub
- URL: https://github.com/dknowles2/pydrawise
- Owner: dknowles2
- License: apache-2.0
- Created: 2022-11-12T19:09:08.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-12-19T03:05:57.000Z (6 months ago)
- Last Synced: 2025-12-22T00:45:47.530Z (6 months ago)
- Topics: aot, hydrawise, hydrawise-api, python, smarthome, sprinkler-controller
- Language: Python
- Homepage: https://pydrawise.readthedocs.io/
- Size: 651 KB
- Stars: 7
- Watchers: 1
- Forks: 6
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Pydrawise
[](https://github.com/dknowles2/pydrawise/actions/workflows/build-and-test.yml)
[](https://pypi.python.org/pypi/pydrawise)
[](https://pydrawise.readthedocs.io/en/latest/?badge=latest)
Pydrawise is an asynchronous Python 3 library for interacting with Hydrawise sprinkler controllers.
*Note that this project has no official relationship with Hydrawise or Hunter. Use at your own risk.*
## Usage
```python
import asyncio
from pydrawise import Auth, Hydrawise
async def main():
# Create a Hydrawise object and authenticate with your credentials.
h = Hydrawise(Auth("username", "password"))
# List the controllers attached to your account.
controllers = await h.get_controllers()
# List the zones controlled by the first controller.
zones = await h.get_zones(controllers[0])
# Start the first zone.
await h.start_zone(zones[0])
if __name__ == "__main__":
asyncio.run(main())
```
## Installation
### Pip
To install pydrawse, run this command in your terminal:
```sh
$ pip install pydrawise
```
### Source code
Pydrawise is actively developed on Github, where the code is [always available](https://github.com/dknowles2/pydrawise).
You can either clone the public repository:
```sh
$ git clone https://github.com/dknowles2/pydrawise
```
Or download the latest [tarball](https://github.com/dknowles2/pydrawise/tarball/main):
```sh
$ curl -OL https://github.com/dknowles2/pydrawise/tarball/main
```
Once you have a copy of the source, you can embed it in your own Python package, or install it into your site-packages easily:
```sh
$ cd pydrawise
$ python -m pip install .
```