Metadata-Version: 2.4
Name: python-hilo
Version: 2025.10.2
Summary: A Python3, async interface to the Hilo API
License: MIT
License-File: LICENSE
Author: David Vallee Delisle
Author-email: me@dvd.dev
Maintainer: David Vallee Delisle
Maintainer-email: me@dvd.dev
Requires-Python: >=3.9.0,<4.0.0
Classifier: Framework :: aiohttp
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Classifier: Topic :: Home Automation
Requires-Dist: aiofiles (>=23.2.1)
Requires-Dist: aiohttp (>=3.8.0)
Requires-Dist: aiosignal (>=1.2.0)
Requires-Dist: async-timeout (>=4.0.0)
Requires-Dist: attrs (>=21.2.0)
Requires-Dist: backoff (>=1.11.1)
Requires-Dist: gql (>=3.5.2,<5.0.0)
Requires-Dist: python-dateutil (>=2.8.2)
Requires-Dist: pyyaml (>=6.0.2,<7.0.0)
Requires-Dist: voluptuous (>=0.13.1)
Requires-Dist: websockets (>=8.1,<16.0)
Project-URL: Repository, https://github.com/dvd-dev/python-hilo
Description-Content-Type: text/markdown

# python-hilo

[![GitHub Release][releases-shield]][releases]
[![License][license-shield]](LICENSE)

[![Build Status][build-shield]][build]
[![Open in Dev Containers][devcontainer-shield]][devcontainer]

`python-hilo` (aka `pyhilo`) is a Python 3.11, `asyncio`-driven interface to the unofficial
Hilo API from Hydro Quebec. This is meant to be integrated into Home Assistant but can also
be used as a standalone library.

Home assistant integration is available [here](https://github.com/dvd-dev/hilo)

## TODO
- Type everything: almost done, got a few "type: ignore" to fix

## Later?
- Full docstrings and doc generation
- Unit testing
- Functional testing

If anyone wants to contribute, feel free to submit a PR. If you'd like to sync up first, you can
fire me an email me@dvd.dev

## Setting up development environment

The easiest way to start, is by opening a CodeSpace here on GitHub, or by using
the [Dev Container][devcontainer] feature of Visual Studio Code.

[![Open in Dev Containers][devcontainer-shield]][devcontainer]

This Python project is fully managed using the [Poetry][poetry] dependency
manager. But also relies on the use of NodeJS for certain checks during
development.

You need at least:

- Python 3.11+
- [Poetry][poetry-install]
- NodeJS 20+ (including NPM)

To install all packages, including all development requirements:

```bash
npm install
poetry install
```

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
```

## Authors & contributors

The original setup of this repository is by [David Vallée Delisle][dvd-dev].

Credits to [@frenck][frenck] for the base container configuration.
The license of python-wled can be found in
[third_party/python-wled/LICENSE](third_party/python-wled/LICENSE).

For a full list of all authors and contributors,
check [the contributor's page][contributors].



[build-shield]: https://github.com/dvd-dev/python-hilo/actions/workflows/tests.yaml/badge.svg
[build]: https://github.com/dvd-dev/python-hilo/actions/workflows/tests.yaml
[releases-shield]: https://img.shields.io/github/release/dvd-dev/python-hilo.svg
[releases]: https://github.com/dvd-dev/python-hilo/releases
[license-shield]: https://img.shields.io/github/license/dvd-dev/python-hilo.svg
[devcontainer-shield]: https://img.shields.io/static/v1?label=Dev%20Containers&message=Open&color=blue&logo=visualstudiocode
[devcontainer]: https://vscode.dev/redirect?url=vscode://ms-vscode-remote.remote-containers/cloneInVolume?url=https://github.com/dvd-dev/python-hilo
[poetry-install]: https://python-poetry.org/docs/#installation
[poetry]: https://python-poetry.org
[pre-commit]: https://pre-commit.com/
[dvd-dev]: https://github.com/dvd-dev
[frenck]: https://github.com/frenck
[contributors]: https://github.com/dvd-dev/python-hilo/graphs/contributors
