Skip to main content

Minimal async HTTP client for ESP RainMaker (Zehnder Multi Controller)

Project description

rainmaker-http

Minimal async HTTP client for ESP RainMaker (Zehnder Multi Controller).

This package provides a small, dependency-light aiohttp client that implements the HTTP endpoints used by the RainMaker ecosystem. It is intended to be a minimal alternative to large upstream SDKs when an integration wants to avoid heavy dependencies.

Install (dev):

pip install -e .[dev]

Quick usage:

import asyncio
from rainmaker_http import RainmakerClient

async def main():
    async with RainmakerClient("https://api.rainmaker.example/") as client:
        await client.async_login("username", "password")
        nodes = await client.async_get_nodes()
        print(nodes)

asyncio.run(main())

Publishing

Build and upload:

python -m build
python -m twine upload dist/*

Test script

The repository includes a small test script scripts/test_real_api.py that exercises GET-only endpoints. Do NOT store credentials in the file. Provide credentials via environment variables:

export RAINMAKER_USERNAME="your-username"
export RAINMAKER_PASSWORD="your-password"
PYTHONPATH=$(pwd) python scripts/test_real_api.py

CI / Publishing

This repo includes a GitHub Actions workflow to build and publish the package when creating a release. The workflow expects the PYPI_API_TOKEN secret to be configured in the repository settings.

See .github/workflows/publish.yml for details.

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

rainmaker_http-0.0.3.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

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

rainmaker_http-0.0.3-py3-none-any.whl (4.9 kB view details)

Uploaded Python 3

File details

Details for the file rainmaker_http-0.0.3.tar.gz.

File metadata

  • Download URL: rainmaker_http-0.0.3.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for rainmaker_http-0.0.3.tar.gz
Algorithm Hash digest
SHA256 77430624b5858362881d1fdb25b24e0b334aff9b08cd780550b84f018df4ae8c
MD5 7c99bc98d228f984b38b0b47f074fba4
BLAKE2b-256 245f6528443f26038f0b7cafa9ac90086d9f3668a03fa566c352e3db533a7431

See more details on using hashes here.

File details

Details for the file rainmaker_http-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: rainmaker_http-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 4.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for rainmaker_http-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ae1184db7703acfb5f4131317cb12ff69ad090f6a67099f00bd4e7446e4a3bb0
MD5 56bd4fbdd6548dcaad03427da61e2f53
BLAKE2b-256 885a5023407cc49133067598bd888836c60ad67c962fc4c3f678e9dde094cacb

See more details on using hashes here.

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