#![allow(
clippy::missing_errors_doc,
reason = "errors documented on underlying Rust methods"
)]
pub mod backend;
pub mod catalog;
pub mod feather;
pub mod wranglers;
use nautilus_model::data::ensure_rust_extractor_registered;
use nautilus_serialization::arrow::custom::ensure_custom_data_registered;
use pyo3::prelude::*;
#[pymodule]
pub fn persistence(_: Python<'_>, m: &Bound<'_, PyModule>) -> PyResult<()> {
ensure_custom_data_registered::<crate::test_data::RustTestCustomData>();
ensure_custom_data_registered::<crate::test_data::MacroYieldCurveData>();
ensure_custom_data_registered::<crate::test_data::RustTestParamsCustomData>();
let _ = ensure_rust_extractor_registered::<crate::test_data::RustTestCustomData>();
let _ = ensure_rust_extractor_registered::<crate::test_data::MacroYieldCurveData>();
let _ = ensure_rust_extractor_registered::<crate::test_data::RustTestParamsCustomData>();
m.add_class::<crate::backend::session::DataBackendSession>()?;
m.add_class::<crate::backend::session::DataQueryResult>()?;
m.add_class::<backend::session::NautilusDataType>()?;
m.add_class::<catalog::PyParquetDataCatalog>()?;
m.add_class::<feather::PyStreamingFeatherWriter>()?;
m.add_class::<wranglers::bar::BarDataWrangler>()?;
m.add_class::<wranglers::delta::OrderBookDeltaDataWrangler>()?;
m.add_class::<wranglers::depth::OrderBookDepth10DataWrangler>()?;
m.add_class::<wranglers::quote::QuoteTickDataWrangler>()?;
m.add_class::<wranglers::trade::TradeTickDataWrangler>()?;
m.add_class::<crate::test_data::RustTestCustomData>()?;
m.add_class::<crate::test_data::MacroYieldCurveData>()?;
m.add_class::<crate::test_data::RustTestParamsCustomData>()?;
Ok(())
}