ringkernel_ecosystem/
lib.rs

1//! Ecosystem integrations for RingKernel.
2//!
3//! This crate provides optional integrations with popular Rust ecosystem
4//! libraries for actors, web frameworks, data processing, and observability.
5//!
6//! # Feature Flags
7//!
8//! All integrations are opt-in via feature flags:
9//!
10//! - `actix` - Actix actor framework bridge
11//! - `tower` - Tower service middleware integration
12//! - `axum` - Axum web framework integration
13//! - `arrow` - Apache Arrow data processing
14//! - `polars` - Polars DataFrame operations
15//! - `grpc` - gRPC server via Tonic
16//! - `candle` - Candle ML framework bridge
17//! - `config` - Configuration file management
18//! - `tracing-integration` - Enhanced tracing support
19//! - `prometheus` - Prometheus metrics export
20//! - `full` - All integrations enabled
21//!
22//! # Example
23//!
24//! ```toml
25//! [dependencies]
26//! ringkernel-ecosystem = { version = "0.1", features = ["axum", "prometheus"] }
27//! ```
28
29#![warn(missing_docs)]
30#![warn(clippy::all)]
31
32pub mod error;
33
34#[cfg(feature = "actix")]
35pub mod actix;
36
37#[cfg(feature = "tower")]
38pub mod tower;
39
40#[cfg(feature = "axum")]
41pub mod axum;
42
43#[cfg(feature = "arrow")]
44pub mod arrow;
45
46#[cfg(feature = "polars")]
47pub mod polars;
48
49#[cfg(feature = "grpc")]
50pub mod grpc;
51
52#[cfg(feature = "candle")]
53pub mod candle;
54
55#[cfg(feature = "config")]
56pub mod config;
57
58#[cfg(feature = "tracing-integration")]
59pub mod tracing_ext;
60
61#[cfg(feature = "prometheus")]
62pub mod metrics;
63
64/// Prelude for convenient imports.
65pub mod prelude {
66    pub use crate::error::*;
67
68    #[cfg(feature = "actix")]
69    pub use crate::actix::*;
70
71    #[cfg(feature = "tower")]
72    pub use crate::tower::*;
73
74    #[cfg(feature = "axum")]
75    pub use crate::axum::*;
76
77    #[cfg(feature = "arrow")]
78    pub use crate::arrow::*;
79
80    #[cfg(feature = "polars")]
81    pub use crate::polars::*;
82
83    #[cfg(feature = "grpc")]
84    pub use crate::grpc::*;
85
86    #[cfg(feature = "candle")]
87    pub use crate::candle::*;
88
89    #[cfg(feature = "config")]
90    pub use crate::config::*;
91
92    #[cfg(feature = "prometheus")]
93    pub use crate::metrics::*;
94}