Skip to main content

Rosia: Reproducible Robotic Middleware

Documentation | Tutorial | Issues | Join Slack | Blog

Install

pip install rosia

Alternatively, you can install from source:

git clone https://github.com/rosia-project/rosia.git
cd rosia
pip install -e .

Hello World

from rosia import InputPort, OutputPort, reaction, Node, Application
from rosia import log

@Node
class Greeter:
    output = OutputPort[str]()
    def start(self):
        self.output("Hello, World!")

@Node
class Printer:
    message = InputPort[str]()
    @reaction([message])
    def print_message(self):
        log.info(self.message)

if __name__ == "__main__":
    app = Application()
    greeter = app.create_node(Greeter())
    printer = app.create_node(Printer())
    greeter.output >>= printer.message
    app.execute()

Please give us a star ⭐️ if you enjoyed Rosia!

Contributing

Install Dev Dependencies

pip install --group dev .

Install Pre-commit Hooks

pre-commit install --hook-type commit-msg --hook-type pre-push --hook-type pre-commit
pre-commit run --all-files

Code is automatically formatted before committing. Commit messages should follow conventional commit.

Distribution Archives

python -m build
python -m twine upload dist/*

Metadata

Release files for rosia 0.0.8

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

Source distribution (sdist)

Source distribution for rosia 0.0.8
File Size Uploaded Provenance Actions
rosia-0.0.8.tar.gz 132.0 kB With provenance Details for rosia-0.0.8.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for rosia 0.0.8
File Interpreter ABI Platform Actions
rosia-0.0.8-py3-none-any.whl Python 3 none any Details for rosia-0.0.8-py3-none-any.whl

Total release size: 277.4 kB

Release files / rosia-0.0.8.tar.gz

Download URL rosia-0.0.8.tar.gz
Size 132.0 kB
Tags Source
SHA-256 checksum
How to use checksums
81f5ed736fa60db3898e8bafea24cdee5f836ccde1bfec06234e9dbca8f46e5a
BLAKE2b-256 checksum
How to use checksums
29a1fae48ec46a8bbaa59058d6fc2437ad5d90f39bc46ea7acec50bcaf3eae93
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 1, 2026.

Transparency log

Release files / rosia-0.0.8-py3-none-any.whl

Download URL rosia-0.0.8-py3-none-any.whl
Size 145.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
548782c6f17bc029563f7a26ca0dffa30434faac37dc791cc9416c4579d3f4b2
BLAKE2b-256 checksum
How to use checksums
a06cf4d9efdc2f6b892f820d8645149851aee640f6e057063bace51345de5cd4
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 1, 2026.

Transparency log

Security for rosia 0.0.8

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for rosia-0.0.8.tar.gz

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

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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