nautilus_interactive_brokers/python/
mod.rs1pub mod config;
19pub mod conversion;
20
21#[cfg(feature = "python")]
22pub mod data;
23
24#[cfg(feature = "python")]
25pub mod execution;
26
27#[cfg(feature = "gateway")]
28#[cfg(feature = "python")]
29pub mod gateway;
30
31#[cfg(feature = "python")]
32pub mod historical;
33
34#[cfg(feature = "python")]
35pub mod providers;
36
37use pyo3::prelude::*;
38
39#[pymodule]
45#[allow(unused_variables)]
46pub fn interactive_brokers(py: Python<'_>, m: &Bound<'_, PyModule>) -> PyResult<()> {
47 m.add_class::<crate::config::MarketDataType>()?;
48 m.add_class::<crate::config::InteractiveBrokersDataClientConfig>()?;
49 m.add_class::<crate::config::InteractiveBrokersExecClientConfig>()?;
50 m.add_class::<crate::config::InteractiveBrokersInstrumentProviderConfig>()?;
51 m.add_class::<crate::config::DockerizedIBGatewayConfig>()?;
52 m.add_class::<crate::config::TradingMode>()?;
53 m.add_class::<crate::data::InteractiveBrokersDataClient>()?;
54 m.add_class::<crate::execution::InteractiveBrokersExecutionClient>()?;
55 m.add_class::<crate::historical::HistoricalInteractiveBrokersClient>()?;
56 m.add_class::<crate::providers::instruments::InteractiveBrokersInstrumentProvider>()?;
57
58 #[cfg(feature = "gateway")]
59 {
60 m.add_class::<crate::gateway::dockerized::ContainerStatus>()?;
61 m.add_class::<crate::gateway::dockerized::DockerizedIBGateway>()?;
62 }
63
64 Ok(())
65}