Multi-Language Support

HORUS supports multiple programming languages, allowing you to choose the best tool for each component of your robotics system.

Supported Languages

Rust (Native)

Best for: High-performance nodes, control loops, real-time systems

HORUS is written in Rust and provides the most complete API. All examples in the documentation use Rust by default.

Getting Started:

horus new my-project
# Select: Rust (option 2)

Learn more: Quick Start

Python

🚧 Under Development: Python bindings are currently under active development.

Best for: Rapid prototyping, AI/ML integration, data processing, visualization

Python bindings provide a simple, Pythonic API for HORUS. Perfect for integrating with NumPy, PyTorch, TensorFlow, and other Python libraries.

Getting Started:

horus new my-project
# Select: Python (option 1)

Learn more: Python Bindings

C (Alpha)

Best for: Hardware drivers, legacy system integration, embedded systems

C bindings provide low-level access to HORUS from C code. Currently in alpha with basic pub/sub support.

Status: Alpha - Basic functionality only

Learn more: C Bindings

Cross-Language Communication

All languages can communicate seamlessly through HORUS's shared memory system:

# Python publisher
import horus
node = horus.Node(name="sensor", pubs="temperature")
node.send("temperature", 25.5)
// Rust subscriber (in another process)
let hub = Hub::<f32>::new("temperature")?;
if let Some(temp) = hub.recv(None) {
    println!("Temperature: {}", temp);
}

Choosing a Language

Use CaseRecommended Language
Control loopsRust (lowest latency)
AI/ML modelsPython (ecosystem)
Hardware driversC or Rust
Data processingPython or Rust
Real-time systemsRust
PrototypingPython (fastest development)

Mixed-Language Systems

You can build systems with nodes in different languages:

Example: Robot with mixed languages

  • Motor controller (Rust) - 1kHz control loop
  • Vision processing (Python) - PyTorch object detection
  • Hardware driver (C) - Legacy sensor integration
  • Dashboard (Rust) - Real-time visualization

All communicate through HORUS shared memory with sub-microsecond latency.

Next Steps

Choose your language:

Build something: