Skip to main content

A robotic middleware in Python.

Project description

Rosia: Reproducible Robotic Middleware

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()

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/*

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rosia-0.0.5.tar.gz (43.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rosia-0.0.5-py3-none-any.whl (57.5 kB view details)

Uploaded Python 3

File details

Details for the file rosia-0.0.5.tar.gz.

File metadata

  • Download URL: rosia-0.0.5.tar.gz
  • Upload date:
  • Size: 43.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rosia-0.0.5.tar.gz
Algorithm Hash digest
SHA256 55326dbde845e28188f8ade08cab4d21e991546ffb5177bdf892693955491763
MD5 157774e642680012a012cd5631d5f13c
BLAKE2b-256 ae7433f7fbe0cec83a263eaa8b57ddd2a9ac4f39cb86ba69879a47440bce5c54

See more details on using hashes here.

Provenance

The following attestation bundles were made for rosia-0.0.5.tar.gz:

Publisher: release.yml on rosia-project/rosia

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file rosia-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: rosia-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 57.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rosia-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 f33c7fbe29ad922f1ddf8c0837778085dbf5031a99e9fa85a044dfa2ef085bef
MD5 6ee34ec06f6538117cbba360ebcc01aa
BLAKE2b-256 b297b92c8a5472e0f156986429df3efcf0c432e5a8d775bc5cbd8f682f9eecc6

See more details on using hashes here.

Provenance

The following attestation bundles were made for rosia-0.0.5-py3-none-any.whl:

Publisher: release.yml on rosia-project/rosia

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page