Skip to main content

A robotic middleware in Python.

Project description

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

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.6.tar.gz (48.5 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.6-py3-none-any.whl (62.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rosia-0.0.6.tar.gz
  • Upload date:
  • Size: 48.5 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.6.tar.gz
Algorithm Hash digest
SHA256 d4be5efb62e9cb673faf62ea2941a78948e7d435e734709c75fd896298151ea8
MD5 53909e3020849828504cbeead816148e
BLAKE2b-256 2db7ad58c89f7b0a89032538bc34a119e9918c6aca7153a8e76f20f1b71ebb41

See more details on using hashes here.

Provenance

The following attestation bundles were made for rosia-0.0.6.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.6-py3-none-any.whl.

File metadata

  • Download URL: rosia-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 62.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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 5d4c04d1ba5510668f9627f7064624b3e879b70335e9e0a73eadba884426c0a0
MD5 8c75539be30163911dac8413e495e609
BLAKE2b-256 f67e8914449be73fe87c692057a5a7ac1b018eb43e1ec7fce9db8619a25ed49d

See more details on using hashes here.

Provenance

The following attestation bundles were made for rosia-0.0.6-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