Skip to main content

terrestream-local

Asynchronous local client for the Terrestream℠ Indoor Air Quality sensor, separate from its Home Assistant integration. 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. The sensor and 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.1

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.1
File Size Uploaded
terrestream_local-0.1.1.tar.gz 34.3 kB Details

Built distribution (wheel)

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

Total release size: 68.0 kB

Release files / terrestream_local-0.1.1.tar.gz

Download URL terrestream_local-0.1.1.tar.gz
Size 34.3 kB
Tags Source
SHA-256 checksum
How to use checksums
6af1098bf527b96ef393fe26f074e792ef2cdb37c8da2b9d808462c258fcc675
BLAKE2b-256 checksum
How to use checksums
b8b861957cf8deb89b5915a158e0477ffc58166d60257bc71d2fd73aff056a71
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.1-py3-none-any.whl

Download URL terrestream_local-0.1.1-py3-none-any.whl
Size 33.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7d11bfa3218bb09126dca58376bdd40ef0189bc51daf67c98bde3da21d5ae849
BLAKE2b-256 checksum
How to use checksums
00c107495baddd333665fefba46a59e24810ff6ef67cc211410411fd99da64a7
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

This release

0.1.1 This release

2 release files

0.1.0

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