Skip to main content

terrestream-local

Asynchronous Python client for the Terrestream R500 local protocol, separate from its Home Assistant adapter. Apache-2.0 licensed; Python 3.13 or newer. Version 0.1.0 targets firmware 4.1.0. Retail firmware qualification and the Home Assistant integration release remain pending; firmware 4.0.72 does not implement this protocol.

The library accepts a caller-owned aiohttp.ClientSession. Physical-code SRP2 pairing establishes a device token and certificate fingerprint; subsequent local TLS connections authenticate the pinned device. It makes no vendor-cloud calls. An R500 and the client must be reachable on the local network. No MQTT broker or Terrestream web account is required. See PROTOCOL.md for the wire contract, freshness, exclusive controller lease, retry, and trust behavior.

After obtaining Credentials through the physical pairing flow, use:

import aiohttp
from terrestream_local import Client, Credentials

async def read_device(host: str, credentials: Credentials):
    async with aiohttp.ClientSession() as session:
        client = Client(session, host, credentials)
        await client.identity()
        try:
            snapshot = await client.refresh()
            return snapshot
        finally:
            await client.command("release")

Keep pairing credentials private. Do not run another controlling client alongside an active Home Assistant instance. The tools/pair_check.py development helper prompts privately and saves an owner-only credentials file. Do not put that file in source control, a bug report, or a shared archive.

Source and issues: terrestream/terrestream. Versioned distributions are built in public CI from client-v<version> tags and published using PyPI Trusted Publishing. Vendored Espressif protocol code retains its upstream license and provenance under _espressif/.

License and marks

Apache License 2.0. See LICENSE, NOTICE, licensing and marks, and third-party notices. Terrestream is a service mark of Aerodyne Inc. Home Assistant is a trademark of the Open Home Foundation. Compatibility does not imply certification or endorsement.

Metadata

Release files for terrestream-local 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for terrestream-local 0.1.0
File Size Uploaded
terrestream_local-0.1.0.tar.gz 37.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for terrestream-local 0.1.0
File Interpreter ABI Platform
terrestream_local-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 70.8 kB

Release files / terrestream_local-0.1.0.tar.gz

Download URL terrestream_local-0.1.0.tar.gz
Size 37.4 kB
Tags Source
SHA-256 checksum
How to use checksums
53980b53e9674db6419bbe015f450822ec52c6bde90149fbad89a2a5791dc84c
BLAKE2b-256 checksum
How to use checksums
96039594a17cdb9be14a47a5c349f021f67496bc684dfb618ed594bd7826371e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.

Transparency log

Release files / terrestream_local-0.1.0-py3-none-any.whl

Download URL terrestream_local-0.1.0-py3-none-any.whl
Size 33.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f0df54b745f4b9b1d58b888d990a9f0fe5540b68f8be6fd959bcdc115daede03
BLAKE2b-256 checksum
How to use checksums
22aa7efe6f11a17c4efb9968af287f42842d2f987e4d31c4d60dd9731bba7454
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.

Transparency log

Release history Release notifications | RSS feed

0.1.1

2 release files

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page