Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

zerodds (Python)

Python bindings for ZeroDDS, the native Rust DDS implementation.

Installation (Dev-Setup)

# Maturin in a virtualenv
python3 -m venv .venv
source .venv/bin/activate
pip install maturin pytest

# Build + install in develop mode (rebuild on code change)
cd crates/py
maturin develop --features extension-module

Schnellstart

import zerodds

factory = zerodds.DomainParticipantFactory.instance()
participant = factory.create_participant(0)

topic = participant.create_bytes_topic("Chatter")
publisher = participant.create_publisher()
writer = publisher.create_bytes_writer(topic)

subscriber = participant.create_subscriber()
reader = subscriber.create_bytes_reader(topic)

writer.wait_for_matched_subscription(1, timeout_secs=5.0)
reader.wait_for_matched_publication(1, timeout_secs=5.0)

writer.write(b"hello world")
reader.wait_for_data(timeout_secs=3.0)
for payload in reader.take():
    print(payload)

Tests

pytest crates/py/python/tests/

Scope (current version)

  • DomainParticipantFactory, DomainParticipant with assert_liveliness, ignore_*, contains_entity, get_discovered_*
  • BytesTopic / BytesWriter / BytesReader for opaque payload
  • ShapeTopic / ShapeWriter / ShapeReader + Shape dataclass for cross-vendor interop against Cyclone/Fast-DDS ShapesDemo
  • Status getters: publication_matched_status, liveliness_lost_status, subscription_matched_status, sample_lost_status, …
  • GuardCondition + WaitSet
  • Sync primitives: wait_for_matched_*, wait_for_data
  • GIL release during all blocking calls

Roadmap

  • IDL→Python dataclass generator (@dataclass from IDL); then arbitrary DdsTypes work natively from Python.
  • ROS2 pytest integration + multi-process live tests + sphinx docs.
  • Load QoS profiles from XML/YAML (analogous to the Fast-DDS QoS Profiles Manager).

Architecture

The Rust crate zerodds-py builds as a cdylib (zerodds._core). The Python wrapper python/zerodds/__init__.py re-exports and adds pythonic sugar where needed.

The Rust core is identical to the Rust API — no Python- specific business logic, only type conversions + GIL release. This keeps the binding thin and keeps the DDS semantics in one place.

Metadata

Release files for zerodds 1.0.0rc3

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

Source distribution (sdist)

Source distribution for zerodds 1.0.0rc3
File Size Uploaded
zerodds-1.0.0rc3.tar.gz 1.6 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for zerodds 1.0.0rc3
File
zerodds-1.0.0rc3-cp38-abi3-win_amd64.whl CPython 3.8 abi3 Windows x86-64 Details
zerodds-1.0.0rc3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 abi3 Linux glibc 2.17+ x86-64 Details
zerodds-1.0.0rc3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.8 abi3 Linux glibc 2.17+ ARM64 Details
zerodds-1.0.0rc3-cp38-abi3-macosx_11_0_arm64.whl CPython 3.8 abi3 macOS 11.0+ ARM64 Details

Total release size: 6.0 MB

Release files / zerodds-1.0.0rc3.tar.gz

Download URL zerodds-1.0.0rc3.tar.gz
Size 1.6 MB
Tags Source
SHA-256 checksum
How to use checksums
648dcf99c96b83d93273f332e97355e0f2979ae251a06da1899cabf22abc4229
BLAKE2b-256 checksum
How to use checksums
0199321c1c9d5f66cf03fe24e0210f7ee55a82cfcf91c906f0a144753e4605c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 20, 2026.

Transparency log

Release files / zerodds-1.0.0rc3-cp38-abi3-win_amd64.whl

Download URL zerodds-1.0.0rc3-cp38-abi3-win_amd64.whl
Size 1.0 MB
Tags CPython 3.8 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
4c736abfe86d51de4711f91fba4961fec4dda5f001064061520ac31c41cf100f
BLAKE2b-256 checksum
How to use checksums
b54bc6d8d3b6693bee4daf0974ddf984d61a9c65ca8837052dcf98d4614b2399
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 20, 2026.

Transparency log

Release files / zerodds-1.0.0rc3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL zerodds-1.0.0rc3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.2 MB
Tags CPython 3.8 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
afce55578c7719649453780739604d431d61a2acab29df72fb13e5bf1bf5c05e
BLAKE2b-256 checksum
How to use checksums
86be6e5756dd4fba0251b8c3b05b245154e32275356dbc6c20d753dfaf8bceb3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 20, 2026.

Transparency log

Release files / zerodds-1.0.0rc3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL zerodds-1.0.0rc3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.1 MB
Tags CPython 3.8 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
507af243a342a70fa3058edaee8653d0b3646368be1cf9f6f3f9532bde564f19
BLAKE2b-256 checksum
How to use checksums
6ca60beccaef00f15baba6479f910519809fd6a94ad54a307e932833aecf22e3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 20, 2026.

Transparency log

Release files / zerodds-1.0.0rc3-cp38-abi3-macosx_11_0_arm64.whl

Download URL zerodds-1.0.0rc3-cp38-abi3-macosx_11_0_arm64.whl
Size 1.1 MB
Tags CPython 3.8 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
98b75ec8f2ef56aa421aad257ddc13d5351b1a95a7a99d5d22f92a1fa988b992
BLAKE2b-256 checksum
How to use checksums
617596d3a697dbb4cfb3d5d6088a9cdb78536e8da12d42de901df9d90f70a60e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 20, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.0rc3 This release

5 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