1pub mod api;
2pub(crate) mod extractor;
3pub mod graph;
4mod rule;
5pub mod server;
6pub mod symbol;
7
8use crate::graph::{Graph, GraphConfig, RelatedSymbol};
10use pyo3::prelude::*;
11
12mod pyapi;
13
14use crate::symbol::{DefRefPair, Symbol};
15use pyo3_stub_gen::define_stub_info_gatherer;
16use crate::api::{FileMetadata, RelatedFileContext};
17
18#[pymodule]
19fn _rust_api(m: &Bound<'_, PyModule>) -> PyResult<()> {
20 m.add_function(wrap_pyfunction!(pyapi::create_graph, m)?)?;
21 m.add_class::<GraphConfig>()?;
22 m.add_class::<Graph>()?;
23 m.add_class::<RelatedSymbol>()?;
24 m.add_class::<DefRefPair>()?;
25 m.add_class::<RelatedFileContext>()?;
26 m.add_class::<FileMetadata>()?;
27 m.add_class::<Symbol>()?;
28 Ok(())
29}
30
31define_stub_info_gatherer!(stub_info);