Skip to main content

Sahou runtime — schema-first typed messaging for creative installations (on Zenoh)

Project description

sahou (Python runtime)

Typed communication over real Zenoh, using just a contract (descriptor.json) plus a node name. The boundary semantics are delegated to the Rust core (sahou-core / sahou._core); this glue layer only handles the transport (zenoh-python) and threading.

Usage

import sahou
node = sahou.connect("descriptor.json", node="sensor")   # default = automatic discovery on the same LAN
# (the path is up to you. When using the output of `sahou gen --out-dir gen`, use "gen/descriptor.json")
node.publish("touch", {"x": 0.5, "phase": "move"})        # a NO is SahouRejected (nothing is put)

@node.subscribe("cue")
def on_cue(payload): ...                                   # a NO never reaches the handler (goes to on_reject)

res = node.query_confirmed("get_state", {"sel": "levels"})  # 200/400/500 equivalent + smart retry
node.answer("get_state", lambda req: {"level": 3})

Development

uv venv && uv pip install maturin pytest "eclipse-zenoh>=1.9,<2"
.venv/Scripts/maturin develop        # build the core with feature "python"
.venv/Scripts/python -m pytest tests/
  • Contract version differences are decided by a handshake (contract queryable + verdict cache): additive = pass through / breaking = NO / unfetchable = conservative NO. There is no path that silently passes or drops.
  • Not yet implemented (planned follow-ups): auto-launch of sahou link (for Node/browser, ②b) / tap, doctor, type stubs (②c).

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

sahou-0.0.1.tar.gz (91.5 kB view details)

Uploaded Source

Built Distributions

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

sahou-0.0.1-cp310-abi3-win_amd64.whl (354.2 kB view details)

Uploaded CPython 3.10+Windows x86-64

sahou-0.0.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (516.7 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

sahou-0.0.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (508.2 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

sahou-0.0.1-cp310-abi3-macosx_11_0_arm64.whl (465.8 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

File details

Details for the file sahou-0.0.1.tar.gz.

File metadata

  • Download URL: sahou-0.0.1.tar.gz
  • Upload date:
  • Size: 91.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sahou-0.0.1.tar.gz
Algorithm Hash digest
SHA256 a195bd2edcc855f033fa7200e501183a9feebdca66d5c4ddae53109648a24a77
MD5 07318893a0719ab8cd81f4ca91b04110
BLAKE2b-256 f198dee8d72c87dc67e678e47373fc6225320349bcf47975cd04193331e2b315

See more details on using hashes here.

Provenance

The following attestation bundles were made for sahou-0.0.1.tar.gz:

Publisher: python-release.yml on craf-te/sahou

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sahou-0.0.1-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: sahou-0.0.1-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 354.2 kB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sahou-0.0.1-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 49180199ff237a1a4f9f9094a4582f36023c1550d7895b4a4d54239895b98852
MD5 dedd146356a37c1367a008ebc434e0d0
BLAKE2b-256 459a6ffed70aa7e24ae666051cffa0eb810df229ffb6ba2047efee52b085cec9

See more details on using hashes here.

Provenance

The following attestation bundles were made for sahou-0.0.1-cp310-abi3-win_amd64.whl:

Publisher: python-release.yml on craf-te/sahou

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sahou-0.0.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sahou-0.0.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 825d0cb6745ecd889aeb70014b72ae1d97386af95d2e8efa588135e50105dcaa
MD5 15e6930ae7931a09b8cd9c78fb1983db
BLAKE2b-256 d19645237f344dd0e4918d418189c7f77eeeecbb99a8105ad0c015c1650a6987

See more details on using hashes here.

Provenance

The following attestation bundles were made for sahou-0.0.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: python-release.yml on craf-te/sahou

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sahou-0.0.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for sahou-0.0.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f60d350bc34703c47faf07525d9fb2594e501f5fce49b24ff5345577539314a2
MD5 25e0e22cef6ea7acfa8d14029d80de2a
BLAKE2b-256 3879972997b8b03188b13db8bd496c583cbd615b855fee871d8a240d5396efaa

See more details on using hashes here.

Provenance

The following attestation bundles were made for sahou-0.0.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: python-release.yml on craf-te/sahou

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sahou-0.0.1-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: sahou-0.0.1-cp310-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 465.8 kB
  • Tags: CPython 3.10+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sahou-0.0.1-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7f70c9123bf47daac713c2b2560aa06e32d568bbd53491981127a1a2af7fef77
MD5 6ab4b48947dc030fa073c9f2890f9c21
BLAKE2b-256 4b44e511a56831f64d87ba02f64b07a6b227ac773d1aaef1539cb03960755345

See more details on using hashes here.

Provenance

The following attestation bundles were made for sahou-0.0.1-cp310-abi3-macosx_11_0_arm64.whl:

Publisher: python-release.yml on craf-te/sahou

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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