Skip to main content

13. README.md

Robocore

Robocore is a pure Python middleware for robotic communication, emphasizing simplicity, customizability, and ease of use. It enables high-bandwidth, low-latency communication suitable for streaming data like RGB-D arrays.

Philosophy

Robocore aims to lower the barrier to entry for robotic communication by providing an easy-to-use and highly customizable framework. The goal is to make sure that you can focus on your methods without worrying about the underlying communication complexities.

Features

  • Publish/Subscribe Paradigm: Simple string-based topics with support for multiple publishers and subscribers.
  • Centralized Key-Value Store: A database-like system for storing and retrieving key-value pairs.
  • Automatic Server Initiation: Servers for topic registry and key-value store start automatically in the background.
  • Visualization Tools: Real-time data inspection and visualization using rerun-sdk.
  • Configuration Files: Use .yaml files to specify topic types and additional info.

Installation

pip install robocore

Getting Started

Simple Publish/Subscribe

import robocore as rc

def publisher():
    pub = rc.Publisher(topic="camera_feed")
    pub.publish(data)  # Replace 'data' with your data
    pub.close()

def subscriber():
    sub = rc.Subscriber(topic="camera_feed")
    data = sub.receive()
    sub.close()

Multiple Subscribers

Check out the example in the examples folder:

python examples/multiple_subscribers.py

Robotic Manipulator Example

Simulate a robotic manipulator with multiple publishers and subscribers:

python examples/robotic_manipulator.py

Cross-Device Communication

Use Tailscale for networking across devices:

  • Install Tailscale on both devices.
  • Run the publisher on one device and the subscriber on the other.
  • Modify the connect method to use the Tailscale IP address.

Configuration

Use a .yaml file to specify topic types and visualization settings:

topics:
  - name: camera_feed
    type: image
    visualize: true

Visualization

Integrate with rerun-sdk for real-time visualization:

visualizer = rc.Visualizer(topics=["camera_feed"])
visualizer.start()

Contributing

Contributions are welcome! Please refer to the documentation and follow the coding standards.


For more examples and detailed usage, please refer to the examples folder.

Metadata

Release files for robocore 0.0.1

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

Source distribution (sdist)

Source distribution for robocore 0.0.1
File Size Uploaded Provenance
robocore-0.0.1.tar.gz 6.7 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 14.1 kB

Release files / robocore-0.0.1.tar.gz

Download URL robocore-0.0.1.tar.gz
Size 6.7 kB
Tags Source
SHA-256 checksum
How to use checksums
1790c08b7ae52afffa5a44c17a2accc4229de1821202cde38acdc34405edbf7c
BLAKE2b-256 checksum
How to use checksums
d08fd364b831dfcb759f927fae361f66a21e2564df6415e38ac7d3609ba26707
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.10

Release files / robocore-0.0.1-py3-none-any.whl

Download URL robocore-0.0.1-py3-none-any.whl
Size 7.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
410f0e04cd19b50620c8efe67a98a58890794c5048194ef6946ed7555c4b9fdf
BLAKE2b-256 checksum
How to use checksums
944690e66faae3560e622ee900958cad0cdd8df404d37d9d47bcddb1986c71da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.10

Security for robocore 0.0.1

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

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.

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files No provenance

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