herolib_clients/lib.rs
1//! # HeroLib Clients Package
2//!
3//! The `herolib-clients` package provides a unified interface for various client libraries
4//! including database clients, messaging clients, and API clients.
5//!
6//! ## Modules
7//!
8//! - [`redis`]: Redis client with connection management
9//! - [`postgres`]: PostgreSQL client with connection pooling
10//! - [`mqtt`]: MQTT messaging client for pub/sub
11//! - [`mycelium`]: Mycelium mesh network client
12//! - [`herodb`]: HeroDB modular database client
13//! - [`hetzner`]: Hetzner Cloud API client
14//!
15//! ## Example
16//!
17//! ```rust,no_run
18//! use herolib_clients::{redis, postgres, mqtt};
19//!
20//! // Use Redis client
21//! redis::set("key", "value").unwrap();
22//!
23//! // Use PostgreSQL client
24//! postgres::execute("SELECT 1", &[]).unwrap();
25//! ```
26
27pub mod geoip;
28pub mod hero_embedder;
29pub mod herodb;
30#[cfg(feature = "rhai")]
31pub mod hetzner;
32pub mod mqtt;
33pub mod mycelium;
34pub mod ntp;
35pub mod opencode_api;
36pub mod openrpc;
37pub mod postgres;
38pub mod redis;
39#[cfg(feature = "rhai")]
40pub mod vastai;
41
42// Rhai integration - consolidated module (only when rhai feature is enabled)
43#[cfg(feature = "rhai")]
44pub mod rhai;