#protocols #indi #astronomy #instrumentation #aerospace #api-bindings

indi-rs

A Rust implementation of the INDI (Instrument Neutral Distributed Interface) protocol

1 unstable release

0.1.0 Feb 2, 2025

#1 in #indi

39 downloads per month

MIT/Apache

48KB
1K SLoC

indi-rs

A Rust implementation of the INDI (Instrument Neutral Distributed Interface) protocol, providing a modern, safe, and efficient way to control astronomical instruments.

Overview

INDI is a protocol designed to support control of astronomical instruments in a distributed environment. This library provides a pure Rust implementation of the protocol, offering:

  • Full INDI protocol support
  • Async/await based API
  • Type-safe message handling
  • Comprehensive error handling
  • Cross-platform compatibility

Features

  • INDI Protocol Core Types
  • XML Message Parsing/Generation
  • Async Client Implementation
  • Async Server Implementation
  • Standard Property Handlers
  • Device Abstraction Layer

Usage

Add this to your Cargo.toml:

[dependencies]
indi-rs = "0.1.0"

Basic example (more examples coming soon):

// Example code will be added as the library develops

License

This project is licensed under either of

at your option.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Dependencies

~4–11MB
~107K SLoC