zerodds-py 1.0.0-rc.1

PyO3 bindings for the ZeroDDS DCPS API
Documentation
Quickstart
==========

Installation (Dev-Setup)
------------------------

.. code-block:: bash

   python3 -m venv .venv
   source .venv/bin/activate
   pip install maturin pytest

   cd crates/py
   maturin develop --features extension-module

Ein Minimal-Beispiel
--------------------

.. code-block:: python

   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)

Dependency-freier Codec-Test
-----------------------------

Die reinen Python-Module ``zerodds.cdr`` und ``zerodds.idl`` laufen
**ohne maturin-Build**. Damit koennen Unit-Tests in CI den Python-
Layer validieren, ohne Rust-Compiler bereit zu halten.

.. code-block:: bash

   cd crates/py
   PYTHONPATH=python pytest python/tests/