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)
| File | Size | Uploaded | |
|---|---|---|---|
| aura_connect-0.1.0.tar.gz | 5.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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