Skip to main content

Asynchronous python client for Home Assistant Supervisor.

Project description

Home Assistant Supervisor Client

Client Library for Home Assistant Supervisor

Python client for interfacing with the Home Assistant Supervisor via its REST API. Currently used in the Home Assistant Supervisor integration in Home Assistant.

Add-ons which interface with Supervisor can also leverage it. The library expects to find the access token in the SUPERVISOR_TOKEN env which is set automatically by Supervisor for add-ons. Currently there is no way to get a long-lived access token for Supervisor outside these use cases so the library's usage is limited to these.

Installation

The library is published on pip and can be installed that way:

pip install aiohasupervisor

And then used via import

import asyncio
import supervisor_client

asyncio.run(supervisor_client.info())

Output would look like the example response in /info from here

Developing & contributing

Prerequisites

The client can interact remotely with the Home Assistant Supervisor using the remote_api add-on from the developer add-ons repository.

After installing and starting the add-on, a token is shown in the remote_api add-on log, which is needed for further development.

It is also recommended you use Visual Studio Code for development with the devcontainer extension. This will read the published devcontainer configuration and setup the development environment for you.

Get the source code

Fork (https://github.com/home-assistant-libs/python-supervisor-client/fork) or clone this repository.

Using it in development

From within the devcontainer, open terminal and do the following:

uv pip install -e .
export SUPERVISOR_API_URL=http://192.168.1.2
export SUPERVISOR_TOKEN=replace_this_with_remote_api_token
python examples/connectivity_test.py

Output should match the example response in /info as shown/linked above in Installation.

Note: Replace the 192.168.1.2 with the IP address of your Home Assistant instance running the remote_api add-on and use the token provided.

Contributing a change

  1. Create a feature branch on your fork/clone of the git repository.
  2. Commit your changes.
  3. Rebase your local changes against the main branch.
  4. Run test suite with the pytest tests command or use Test Explorer and confirm that it passes.
  5. Use ruff to format your code with the rules configured in this project
  6. Create a new Pull Request

Release

Any time the API changes for Home Assistant Supervisor a corresponding release should be published here. Once that release is available on pip a PR should be created to Home Assistant Core updating its Home Assistant Supervisor integration. Follow the directions for updating Requirements in the Integration manifest.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiohasupervisor-0.3.3.tar.gz (44.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aiohasupervisor-0.3.3-py3-none-any.whl (40.5 kB view details)

Uploaded Python 3

File details

Details for the file aiohasupervisor-0.3.3.tar.gz.

File metadata

  • Download URL: aiohasupervisor-0.3.3.tar.gz
  • Upload date:
  • Size: 44.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for aiohasupervisor-0.3.3.tar.gz
Algorithm Hash digest
SHA256 24e268f58f37f9d8dafadba2ef9d860292ff622bc6e78b1ca4ef5e5095d1bbc8
MD5 ea0f7d1a202afbfe7bdce986199fdaed
BLAKE2b-256 e4e0f8865efa28ce22e44e3526f18654c7a69a6f0d0e8523e2aaf743f2798fd8

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiohasupervisor-0.3.3.tar.gz:

Publisher: release.yaml on home-assistant-libs/python-supervisor-client

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiohasupervisor-0.3.3-py3-none-any.whl.

File metadata

File hashes

Hashes for aiohasupervisor-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 bc185dbb81bb8ec6ba91b5512df7fd3bf99db15e648b20aed3f8ce7dc3203f1f
MD5 c54fe7514cbd17ff4040aa2329c8cd82
BLAKE2b-256 f097b811d22148e7227e6f02a1f0f13f60d959bb163c806feab853544da07c3e

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiohasupervisor-0.3.3-py3-none-any.whl:

Publisher: release.yaml on home-assistant-libs/python-supervisor-client

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page