pyo3_introspection/
model.rs1#[derive(Debug, Eq, PartialEq, Clone, Hash)]
2pub struct Module {
3 pub name: String,
4 pub modules: Vec<Module>,
5 pub classes: Vec<Class>,
6 pub functions: Vec<Function>,
7}
8
9#[derive(Debug, Eq, PartialEq, Clone, Hash)]
10pub struct Class {
11 pub name: String,
12}
13
14#[derive(Debug, Eq, PartialEq, Clone, Hash)]
15pub struct Function {
16 pub name: String,
17 pub arguments: Arguments,
18}
19
20#[derive(Debug, Eq, PartialEq, Clone, Hash)]
21pub struct Arguments {
22 pub positional_only_arguments: Vec<Argument>,
24 pub arguments: Vec<Argument>,
26 pub vararg: Option<VariableLengthArgument>,
28 pub keyword_only_arguments: Vec<Argument>,
30 pub kwarg: Option<VariableLengthArgument>,
32}
33
34#[derive(Debug, Eq, PartialEq, Clone, Hash)]
35pub struct Argument {
36 pub name: String,
37 pub default_value: Option<String>,
39}
40
41#[derive(Debug, Eq, PartialEq, Clone, Hash)]
43pub struct VariableLengthArgument {
44 pub name: String,
45}