py-etatouch-restful
Async Python client for ETA Touch RESTful Webservices.
The ETA documentation exposes the webservices at http://<eta-ip>:8080:
GET /user/api: read the API version.GET /user/menu: read the menu tree.GET /user/var/<uri>: read a single variable.POST /user/var/<uri>: set a writable variable.GET/PUT/DELETE /user/vars: manage temporary variable sets.GET /user/errors: read active errors.GET /user/varinfo/<uri>: read variable metadata and valid values.
Installation
python -m pip install py-etatouch-restful
Example
import asyncio
from etatouch_restful import EtaTouchClient
async def main() -> None:
async with EtaTouchClient("192.168.1.50") as client:
api_version = await client.get_api_version()
value = await client.get_variable("112/10021/0/0/12112")
print(api_version, value.str_value, value.native_value)
asyncio.run(main())
Development
python -m pip install -e ".[test,build]"
ruff check .
pytest
python -m build
twine check dist/*
Notes
ETA variable URIs are device-specific. For an ETA PU15, discover them through
/user/menu and inspect writable values through /user/varinfo/<uri>.
Discovery Helpers
The package includes helpers to flatten the ETA menu tree and select conservative default discovery candidates:
from etatouch_restful import flatten_menu, is_default_discovery_candidate
variables = [
variable
for variable in flatten_menu(await client.get_menu())
if is_default_discovery_candidate(variable)
]
Repository Setup
Empfohlene GitHub-Repo-Einstellungen:
- Repository-Name:
py-etatouch-restful - Default Branch:
main - Develop Branch:
develop - PyPI-Paketname:
py-etatouch-restful
Initialer Push in ein leeres Repo:
git init
git add .
git commit -m "Initial py-etatouch-restful scaffold"
git branch -M main
git remote add origin https://github.com/<user>/py-etatouch-restful.git
git push -u origin main
git switch -c develop
git push -u origin develop
Release Notes
Releases are published from GitHub Releases through PyPI Trusted Publishing. See
RELEASE.md.
Release files for py-etatouch-restful 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| py_etatouch_restful-0.2.1.tar.gz | 9.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| py_etatouch_restful-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 19.4 kB
Release files / py_etatouch_restful-0.2.1.tar.gz
| Download URL | py_etatouch_restful-0.2.1.tar.gz |
|---|---|
| Size | 9.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cd47ef553408045efea42f159e0bb9e69107454fc7c4742177450ee1045a0dac
|
|
BLAKE2b-256 checksum How to use checksums |
69eaa12c7de5eb38a95da5ac493db9a0a3725088418af11c0840e0b721fca3ff
|
| 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 24, 2026.
Transparency logRelease files / py_etatouch_restful-0.2.1-py3-none-any.whl
| Download URL | py_etatouch_restful-0.2.1-py3-none-any.whl |
|---|---|
| Size | 9.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
68f8a4cb596e1e44de4088610431327fe6d027b8dedd11107f3a982154b20b3f
|
|
BLAKE2b-256 checksum How to use checksums |
46598b2801be407a854c0aa3dedd521ecf24d9a30a2cfcea8e35b6019410bef1
|
| 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 24, 2026.
Transparency log