nautilus_common/python/
mod.rs1pub mod actor;
19pub mod cache;
20pub mod clock;
21pub mod custom;
22pub mod enums;
23pub mod handler;
24pub mod listener;
25pub mod logging;
26pub mod msgbus;
27pub mod runtime;
28pub mod signal;
29pub mod timer;
30pub mod xrate;
31
32use pyo3::prelude::*;
33
34use crate::python::msgbus::{
35 py_msgbus_deregister, py_msgbus_is_registered, py_msgbus_is_subscribed, py_msgbus_publish,
36 py_msgbus_register, py_msgbus_send, py_msgbus_subscribe, py_msgbus_unsubscribe,
37};
38
39#[rustfmt::skip]
45#[pymodule]
46pub fn common(_: Python<'_>, m: &Bound<'_, PyModule>) -> PyResult<()> {
47 m.add_class::<crate::custom::CustomData>()?;
48 m.add_class::<crate::signal::Signal>()?;
49 m.add_class::<crate::cache::CacheConfig>()?;
50 m.add_class::<crate::cache::Cache>()?;
51 m.add_class::<crate::python::actor::PyDataActor>()?;
52 m.add_class::<crate::python::cache::PyCache>()?;
53 m.add_class::<crate::python::clock::PyClock>()?;
54 m.add_class::<crate::python::logging::PyLogger>()?;
55 m.add_class::<crate::python::handler::PythonMessageHandler>()?;
56 m.add_class::<crate::actor::data_actor::DataActorConfig>()?;
57 m.add_class::<crate::actor::data_actor::ImportableActorConfig>()?;
58 m.add_class::<crate::msgbus::BusMessage>()?;
59 m.add_class::<crate::enums::ComponentState>()?;
60 m.add_class::<crate::enums::ComponentTrigger>()?;
61 m.add_class::<crate::enums::Environment>()?;
62 m.add_class::<crate::enums::LogColor>()?;
63 m.add_class::<crate::enums::LogLevel>()?;
64 m.add_class::<crate::enums::LogFormat>()?;
65 m.add_class::<crate::logging::logger::LoggerConfig>()?;
66 m.add_class::<crate::logging::logger::LogGuard>()?;
67 m.add_class::<crate::logging::writer::FileWriterConfig>()?;
68 m.add_function(wrap_pyfunction!(logging::py_init_tracing, m)?)?;
69 m.add_function(wrap_pyfunction!(logging::py_init_logging, m)?)?;
70 m.add_function(wrap_pyfunction!(logging::py_logger_flush, m)?)?;
71 m.add_function(wrap_pyfunction!(logging::py_logger_log, m)?)?;
72 m.add_function(wrap_pyfunction!(logging::py_log_header, m)?)?;
73 m.add_function(wrap_pyfunction!(logging::py_log_sysinfo, m)?)?;
74 m.add_function(wrap_pyfunction!(logging::py_logging_clock_set_static_mode, m)?)?;
75 m.add_function(wrap_pyfunction!(logging::py_logging_clock_set_realtime_mode, m)?)?;
76 m.add_function(wrap_pyfunction!(logging::py_logging_clock_set_static_time, m)?)?;
77 m.add_function(wrap_pyfunction!(xrate::py_get_exchange_rate, m)?)?;
78 m.add_function(wrap_pyfunction!(py_msgbus_publish, m)?)?;
79 m.add_function(wrap_pyfunction!(py_msgbus_register, m)?)?;
80 m.add_function(wrap_pyfunction!(py_msgbus_send, m)?)?;
81 m.add_function(wrap_pyfunction!(py_msgbus_subscribe, m)?)?;
82 m.add_function(wrap_pyfunction!(py_msgbus_unsubscribe, m)?)?;
83 m.add_function(wrap_pyfunction!(py_msgbus_deregister, m)?)?;
84 m.add_function(wrap_pyfunction!(py_msgbus_is_subscribed, m)?)?;
85 m.add_function(wrap_pyfunction!(py_msgbus_is_registered, m)?)?;
86
87 #[cfg(feature = "live")]
88 m.add_class::<crate::live::listener::MessageBusListener>()?;
89
90 Ok(())
91}