struqture_py/spins/
mod.rs1use pyo3::prelude::*;
13
14mod pauli_product;
15pub use pauli_product::PauliProductWrapper;
16
17mod decoherence_product;
18pub use decoherence_product::DecoherenceProductWrapper;
19
20mod plus_minus_product;
21pub use plus_minus_product::PlusMinusProductWrapper;
22
23mod plus_minus_operator;
24pub use plus_minus_operator::PlusMinusOperatorWrapper;
25
26mod plus_minus_noise_operator;
27pub use plus_minus_noise_operator::PlusMinusLindbladNoiseOperatorWrapper;
28
29mod pauli_operator;
30pub use pauli_operator::PauliOperatorWrapper;
31
32mod pauli_hamiltonian;
33pub use pauli_hamiltonian::PauliHamiltonianWrapper;
34
35mod pauli_noise_operator;
36pub use pauli_noise_operator::PauliLindbladNoiseOperatorWrapper;
37
38mod pauli_open_system;
39pub use pauli_open_system::PauliLindbladOpenSystemWrapper;
40
41#[pymodule]
57pub fn spins(_py: Python, m: &Bound<PyModule>) -> PyResult<()> {
58 m.add_class::<PauliProductWrapper>()?;
60 m.add_class::<DecoherenceProductWrapper>()?;
61 m.add_class::<PauliOperatorWrapper>()?;
62 m.add_class::<PauliHamiltonianWrapper>()?;
63 m.add_class::<PauliLindbladNoiseOperatorWrapper>()?;
64 m.add_class::<PauliLindbladOpenSystemWrapper>()?;
65 m.add_class::<PlusMinusProductWrapper>()?;
66 m.add_class::<PlusMinusOperatorWrapper>()?;
67 m.add_class::<PlusMinusLindbladNoiseOperatorWrapper>()?;
68 Ok(())
69}