Skip to main content

AuraConnect

A simplified wrapper around the Zenoh Python SDK that makes it easier to use without dealing with async code directly.

Features

  • Simple declarative API with synchronous interface
  • Support for Publishers and Subscribers
  • Support for Query-Reply pattern
  • Handles all async code in the background

Installation

Prerequisites

  • Python 3.10 or higher
  • Zenoh dependencies

Setting up a virtual environment

# Create a virtual environment
python3 -m venv venv

# Activate the virtual environment
# On Linux/macOS
source venv/bin/activate
# On Windows
# .\venv\Scripts\activate

Install from source

cd aura_connect
# Install required dependencies
pip install -r requirements.txt

# Install package in development mode
pip install -e .

Usage

Basic Publisher/Subscriber

from aura_connect import AuraConnectClient

# Create a client
client = AuraConnectClient()

# Define a handler for received messages
def handle_message(key, value):
    print(f"Received on {key}: {value}")

# Declare a publisher and a subscriber
publisher = client.declare_publisher("demo/topic")
subscriber = client.declare_subscriber("demo/topic", handle_message)

# Publish a message
publisher.put("Hello, Zenoh!")

Query-Reply Pattern

from aura_connect import AuraConnectClient

# Create a client
client = AuraConnectClient()

# Define a handler for queries
def handle_query(key, value):
    request = value.decode() if value else ""
    print(f"Received query on {key}: {request}")
    return f"Response to: {request}".encode()

# Declare query server and client
query_server = client.declare_query_server("demo/query", handle_query)
query_client = client.declare_query_client("demo/query")

# Send a query and get responses
responses = query_client.query("What's your status?".encode())
for response in responses:
    print(f"Response from {response['key']}: {response['value'].decode()}")

Examples

See the examples directory for more complete examples:

  • basic_connect_example.py: Demonstrates basic pub/sub and query-reply functionality

Configuration

You can pass Zenoh configuration when creating the client:

config = {
    "mode": "peer",
    "listen": ["tcp/localhost:7447"]
}
client = AuraConnectClient(config)

Development

See the Development Guide for information on how to contribute to this project.

Metadata

Release files for aura-connect 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aura-connect 0.1.0
File Size Uploaded
aura_connect-0.1.0.tar.gz 5.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for aura-connect 0.1.0
File Interpreter ABI Platform
aura_connect-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 11.6 kB

Release files / aura_connect-0.1.0.tar.gz

Download URL aura_connect-0.1.0.tar.gz
Size 5.3 kB
Tags Source
SHA-256 checksum
How to use checksums
68c192c2585e0b0713e3b155e551ccb10c7445033aee8066ab9767c046ef0576
BLAKE2b-256 checksum
How to use checksums
9c32ac6fe6b15c6fae56fef24f8e627f8de87981164774a9c98d13ac44a747d2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Jun 17, 2025.

Transparency log

Release files / aura_connect-0.1.0-py3-none-any.whl

Download URL aura_connect-0.1.0-py3-none-any.whl
Size 6.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
266db5e9ac0ac7423c29910de469ae3c63b3b22e5e9eb2ea57d42ce8175d6c45
BLAKE2b-256 checksum
How to use checksums
3081a3399af74daf7394fa4a2a82df0438583db394416f0071ab1dde331200b8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Jun 17, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page