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.2.tar.gz (95.4 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.2-cp310-abi3-win_amd64.whl (354.4 kB view details)

Uploaded CPython 3.10+Windows x86-64

sahou-0.0.2-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (516.9 kB view details)

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

sahou-0.0.2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (507.7 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

sahou-0.0.2-cp310-abi3-macosx_11_0_arm64.whl (465.9 kB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: sahou-0.0.2.tar.gz
  • Upload date:
  • Size: 95.4 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.2.tar.gz
Algorithm Hash digest
SHA256 cbfb85dfdc1caf3649d520a681f748b48e37e447104e07375129dbbf177b075a
MD5 80349bd2ae042079cbf3a180752dcbfa
BLAKE2b-256 dad1b9239f307fd5736781dd1115941152e0745cdf042ec6f9d2e99d3e71e844

See more details on using hashes here.

Provenance

The following attestation bundles were made for sahou-0.0.2.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.2-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: sahou-0.0.2-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 354.4 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.2-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 b120193c89b5c1618694f3f853fe4ceab3ed3134628b682123b407de938b3936
MD5 ff7ccf6796f63254ef68259b9b899eec
BLAKE2b-256 5e485daed2a079eeab912384477f65a6882ee10038589667302c70e1560aa065

See more details on using hashes here.

Provenance

The following attestation bundles were made for sahou-0.0.2-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.2-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for sahou-0.0.2-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ee66c0e00e903bd0905b8308b6aaef4b4bf53ed40ded8ddac02554df2ab0c8df
MD5 b2d0639cd866396ac4e5e7c0fc48b8ed
BLAKE2b-256 10bf96d84763f2e112a76047f776e2a24d2ac40694c249b3d190582d3a863804

See more details on using hashes here.

Provenance

The following attestation bundles were made for sahou-0.0.2-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.2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for sahou-0.0.2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 82861783eaa84148bb4f5b548702081f8d770a9c9081834e01bda771c7ac57aa
MD5 1cdd9271cab82117196100210aedc1b6
BLAKE2b-256 cd8b03d51e90b2ce20829989571f79134aa070c0d1e339911082ac76cf5e0a6f

See more details on using hashes here.

Provenance

The following attestation bundles were made for sahou-0.0.2-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.2-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: sahou-0.0.2-cp310-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 465.9 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.2-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 38c61a5f66d917462ff50f3e5195107fdcf70b20455072d13d0c9d17aad37f56
MD5 12b1ebc723012e345b21d02100c84f17
BLAKE2b-256 77d2268266bc18dcb417a9b3710a54d2fbaebc1f1f2d8cbba09d56bd47839477

See more details on using hashes here.

Provenance

The following attestation bundles were made for sahou-0.0.2-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