nautilus_persistence/python/
mod.rs1#![expect(
19 clippy::missing_errors_doc,
20 reason = "errors documented on underlying Rust methods"
21)]
22
23pub mod backend;
24pub mod catalog;
25pub mod feather;
26pub mod wranglers;
27
28use nautilus_model::data::ensure_rust_extractor_registered;
29use nautilus_serialization::arrow::custom::ensure_custom_data_registered;
30use pyo3::prelude::*;
31
32#[pymodule]
38pub fn persistence(_: Python<'_>, m: &Bound<'_, PyModule>) -> PyResult<()> {
39 ensure_custom_data_registered::<crate::test_data::RustTestCustomData>();
40 ensure_custom_data_registered::<crate::test_data::MacroYieldCurveData>();
41 ensure_custom_data_registered::<crate::test_data::RustTestParamsCustomData>();
42 let _ = ensure_rust_extractor_registered::<crate::test_data::RustTestCustomData>();
43 let _ = ensure_rust_extractor_registered::<crate::test_data::MacroYieldCurveData>();
44 let _ = ensure_rust_extractor_registered::<crate::test_data::RustTestParamsCustomData>();
45
46 m.add_class::<crate::backend::session::DataBackendSession>()?;
49 m.add_class::<crate::backend::session::DataQueryResult>()?;
50 m.add_class::<backend::session::NautilusDataType>()?;
51 m.add_class::<catalog::PyParquetDataCatalog>()?;
52 m.add_class::<feather::PyStreamingFeatherWriter>()?;
53 m.add_class::<wranglers::bar::BarDataWrangler>()?;
54 m.add_class::<wranglers::delta::OrderBookDeltaDataWrangler>()?;
55 m.add_class::<wranglers::depth::OrderBookDepth10DataWrangler>()?;
56 m.add_class::<wranglers::quote::QuoteTickDataWrangler>()?;
57 m.add_class::<wranglers::trade::TradeTickDataWrangler>()?;
58 m.add_class::<crate::test_data::RustTestCustomData>()?;
59 m.add_class::<crate::test_data::MacroYieldCurveData>()?;
60 m.add_class::<crate::test_data::RustTestParamsCustomData>()?;
61 Ok(())
62}