Skip to content

README

pulse-eco

GitHub Workflow Test codecov GitHub Workflow Release

PyPI PyPI - Python Version

Ruff types - Mypy GitHub license

pulse.eco logo

pulse.eco client for Python.

Installation

Requires Python version 3.9+.

The pulse-eco package comes with no base dependencies, everything is an extra. A sensible default is:

python -m pip install pulse-eco[client,httpx]

List of extras

  • client - includes Pydantic, used for the higher level validated client (pulseeco.client).
  • requests - includes requests HTTP client with sync support.
  • aiohttp - includes aiohttp HTTP client with async support.
  • httpx - includes HTTPX HTTP client with both sync and async support.

Documentation

API Reference and User Guide for this package is available on GitHub Pages.

Official pulse.eco REST API documentation can be found on pulse.eco/restapi.

Requesting data with a larger time range

The pulse.eco API limits the maximum time span of data you can get from one request. For /dataRaw it is one week, while for /avgData it is one year.

If the time range is larger than the maximum, the pulse-eco Python client performs multiple requests to the API and then joins the data together. Be aware of this.

Development

Install UV

https://docs.astral.sh/uv/getting-started/installation/

Install package dependencies

uv sync --all-extras

Install pre-commit hooks

pre-commit install

Create .env file (optional)

Set auth credentials in .env file:

cp .env.example .env

Before committing

This command should pass without errors before committing:

./scripts/check.sh

Docs

To preview the docs locally, run:

uv run mkdocs serve