nautilus_live/python/
mod.rs1pub mod client;
19pub mod config;
20pub mod node;
21pub mod runtime;
22
23use nautilus_common::messages::{
24 data::{
25 SubscribeBars, SubscribeBookDeltas, SubscribeBookDepth, SubscribeCustomData,
26 SubscribeFundingRates, SubscribeIndexPrices, SubscribeInstrument, SubscribeInstrumentClose,
27 SubscribeInstrumentStatus, SubscribeInstruments, SubscribeMarkPrices,
28 SubscribeOptionGreeks, SubscribeQuotes, SubscribeTrades, UnsubscribeBars,
29 UnsubscribeBookDeltas, UnsubscribeBookDepth, UnsubscribeCustomData,
30 UnsubscribeFundingRates, UnsubscribeIndexPrices, UnsubscribeInstrument,
31 UnsubscribeInstrumentClose, UnsubscribeInstrumentStatus, UnsubscribeInstruments,
32 UnsubscribeMarkPrices, UnsubscribeOptionGreeks, UnsubscribeQuotes, UnsubscribeTrades,
33 },
34 execution::{
35 BatchCancelOrders, BatchModifyOrders, CancelAllOrders, CancelOrder, GenerateFillReports,
36 GenerateOrderStatusReport, GenerateOrderStatusReports, GeneratePositionStatusReports,
37 ModifyOrder, QueryAccount, QueryOrder, SubmitOrder, SubmitOrderList,
38 },
39};
40use nautilus_portfolio::config::PortfolioConfig;
41use pyo3::prelude::*;
42
43pyo3_stub_gen::reexport_module_members!(
44 "nautilus_trader.live",
45 "nautilus_trader.portfolio",
46 "PortfolioConfig"
47);
48
49#[pymodule]
55pub fn live(_: Python<'_>, m: &Bound<'_, PyModule>) -> PyResult<()> {
56 m.add_class::<runtime::ClientRuntime>()?;
57 m.add_class::<SubscribeCustomData>()?;
58 m.add_class::<SubscribeInstruments>()?;
59 m.add_class::<SubscribeInstrument>()?;
60 m.add_class::<SubscribeBookDeltas>()?;
61 m.add_class::<SubscribeBookDepth>()?;
62 m.add_class::<SubscribeQuotes>()?;
63 m.add_class::<SubscribeTrades>()?;
64 m.add_class::<SubscribeMarkPrices>()?;
65 m.add_class::<SubscribeIndexPrices>()?;
66 m.add_class::<SubscribeFundingRates>()?;
67 m.add_class::<SubscribeBars>()?;
68 m.add_class::<SubscribeInstrumentStatus>()?;
69 m.add_class::<SubscribeInstrumentClose>()?;
70 m.add_class::<SubscribeOptionGreeks>()?;
71 m.add_class::<UnsubscribeCustomData>()?;
72 m.add_class::<UnsubscribeInstruments>()?;
73 m.add_class::<UnsubscribeInstrument>()?;
74 m.add_class::<UnsubscribeBookDeltas>()?;
75 m.add_class::<UnsubscribeBookDepth>()?;
76 m.add_class::<UnsubscribeQuotes>()?;
77 m.add_class::<UnsubscribeTrades>()?;
78 m.add_class::<UnsubscribeMarkPrices>()?;
79 m.add_class::<UnsubscribeIndexPrices>()?;
80 m.add_class::<UnsubscribeFundingRates>()?;
81 m.add_class::<UnsubscribeBars>()?;
82 m.add_class::<UnsubscribeInstrumentStatus>()?;
83 m.add_class::<UnsubscribeInstrumentClose>()?;
84 m.add_class::<UnsubscribeOptionGreeks>()?;
85 m.add_class::<SubmitOrder>()?;
86 m.add_class::<SubmitOrderList>()?;
87 m.add_class::<ModifyOrder>()?;
88 m.add_class::<BatchModifyOrders>()?;
89 m.add_class::<CancelOrder>()?;
90 m.add_class::<CancelAllOrders>()?;
91 m.add_class::<BatchCancelOrders>()?;
92 m.add_class::<QueryAccount>()?;
93 m.add_class::<QueryOrder>()?;
94 m.add_class::<GenerateOrderStatusReport>()?;
95 m.add_class::<GenerateOrderStatusReports>()?;
96 m.add_class::<GenerateFillReports>()?;
97 m.add_class::<GeneratePositionStatusReports>()?;
98 client::requests::register(m)?;
99 client::responses::register(m)?;
100 m.add_class::<client::PyClientCache>()?;
101 m.add_class::<client::ClientOutput>()?;
102 m.add_class::<node::PyLiveNode>()?;
103 m.add_class::<node::PyLiveNodeHandle>()?;
104 m.add_class::<node::PyLiveNodeBuilder>()?;
105 m.add_class::<node::NodeState>()?;
106 m.add_class::<crate::config::LiveNodeConfig>()?;
107 m.add_class::<crate::config::LiveDataEngineConfig>()?;
108 m.add_class::<crate::config::LiveRiskEngineConfig>()?;
109 m.add_class::<crate::config::LiveExecutionEngineConfig>()?;
110 m.add_class::<crate::config::SubmissionRecoveryPolicy>()?;
111 m.add_class::<crate::config::PluginConfig>()?;
112 m.add_class::<crate::config::QueueMonitorConfig>()?;
113 m.add_class::<crate::config::RoutingConfig>()?;
114 m.add_class::<crate::config::InstrumentProviderConfig>()?;
115 m.add_class::<crate::config::DataClientConfig>()?;
116 m.add_class::<crate::config::ExecutionClientConfig>()?;
117 m.add_class::<PortfolioConfig>()?;
118 Ok(())
119}