Skip to main content

Version Python Versions Coverage Build GitHub License

pyhearth is a Python client for Hearth's home API. It posts thermostate and/or room sensor readings to a Hearth home with the home's API key, and returns the thermostat setting Hearth answers with. It's what ha-hearth, Hearth's Home Assistant integration, uses to talk to Hearth.

Installation

pyhearth is available on PyPI and can be installed using pip:

pip install pyhearth

Basic Usage

In the Hearth app, create the home's API key in Settings, then Manage home, then Sensors, then "Other sensors (Hearth API)". Then post readings:

import asyncio

import aiohttp

from pyhearth.client import HearthClient


async def main():
    async with aiohttp.ClientSession() as session:
        client = HearthClient(session, "<your API key>", source="my-hub", source_name="My hub")
        result = await client.post_readings([
            {"id": "office", "name": "Office", "temperature": 20.8, "humidity": 41}
        ])
        print(result.not_added)


asyncio.run(main())

A sensor's readings are kept once it's added to a room in the Hearth app; until then, it's listed in not_added. The fields each endpoint takes are in Hearth's API docs.

Errors are raised as subclasses of HearthError (in pyhearth.exception): HearthAuthError when Hearth doesn't take the key, HearthRateLimitedError when it asks for fewer posts (meta["retry_after"] says how many seconds to wait), HearthRejectedError when it can't read a post, and HearthConnectionError when it can't be reached.

Contributing

If you would like to get involved, be sure to review the Contribution Guide.

Want to contribute financially? If you've found pyhearth useful, sponsorship would also be greatly appreciated!

Metadata

Release files for pyhearth 1.0.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 pyhearth 1.0.1
File Size Uploaded Provenance Actions
pyhearth-1.0.1.tar.gz 8.3 kB Without provenance Details for pyhearth-1.0.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pyhearth 1.0.1
File Interpreter ABI Platform Actions
pyhearth-1.0.1-py3-none-any.whl Python 3 none any Details for pyhearth-1.0.1-py3-none-any.whl

Total release size: 15.1 kB

Release files / pyhearth-1.0.1.tar.gz

Download URL pyhearth-1.0.1.tar.gz
Size 8.3 kB
Tags Source
SHA-256 checksum
How to use checksums
d5066c36f4b2cbf4bf11bfc0d0ab5afcd2b4f34984d1f6b24cda5ae015ba2cc1
BLAKE2b-256 checksum
How to use checksums
c7fe5263d9043a9d7cd7e00d3fae727c95fc8993f8bd902ec795500fd32c20fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / pyhearth-1.0.1-py3-none-any.whl

Download URL pyhearth-1.0.1-py3-none-any.whl
Size 6.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5880e75952aee55f83233ff3c35090b021c7017725165a37a80776c982af29dd
BLAKE2b-256 checksum
How to use checksums
75f052225fc5d1c63459414ce4502957e44ae79ef919cbb4dd5cc65b2107fe4b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.16

Security for pyhearth 1.0.1

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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