1use pyo3::prelude::*;
2
3#[pymodule]
4mod laddu {
5 use super::*;
6 #[pyfunction]
7 fn version() -> String {
8 env!("CARGO_PKG_VERSION").to_string()
9 }
10
11 #[pymodule_export]
12 use laddu_python::{
13 amplitudes::{
14 py_amplitude_one, py_amplitude_product, py_amplitude_sum, py_amplitude_zero,
15 py_constant, py_parameter, PyAmplitude, PyAmplitudeID, PyEvaluator, PyExpression,
16 PyManager, PyModel, PyParameterLike,
17 },
18 data::{py_open, PyBinnedDataset, PyDataset, PyEvent},
19 mpi::{finalize_mpi, get_rank, get_size, is_mpi_available, is_root, use_mpi, using_mpi},
20 utils::{
21 variables::{
22 PyAngles, PyCosTheta, PyMandelstam, PyMass, PyPhi, PyPolAngle, PyPolMagnitude,
23 PyPolarization,
24 },
25 vectors::{PyVector3, PyVector4},
26 },
27 };
28
29 #[pymodule_export]
30 use laddu_amplitudes::{
31 breit_wigner::py_breit_wigner,
32 common::{py_complex_scalar, py_polar_complex_scalar, py_scalar},
33 kmatrix::{
34 py_kopf_kmatrix_a0, py_kopf_kmatrix_a2, py_kopf_kmatrix_f0, py_kopf_kmatrix_f2,
35 py_kopf_kmatrix_pi1, py_kopf_kmatrix_rho,
36 },
37 phase_space::py_phase_space_factor,
38 piecewise::{
39 py_piecewise_complex_scalar, py_piecewise_polar_complex_scalar, py_piecewise_scalar,
40 },
41 ylm::py_ylm,
42 zlm::py_zlm,
43 };
44
45 #[pymodule_export]
46 use laddu_extensions::{
47 ganesh_ext::py_ganesh::{
48 py_integrated_autocorrelation_times, PyAIES, PyAIESMove, PyAutocorrelationObserver,
49 PyBound, PyESS, PyESSMove, PyEnsemble, PyLBFGSB, PyMCMCObserver, PyNelderMead,
50 PyObserver, PyPSO, PyParticle, PyPoint, PySimplexConstructionMethod, PyStatus, PySwarm,
51 PySwarmObserver, PySwarmPositionInitializer, PySwarmVelocityInitializer,
52 },
53 likelihoods::{
54 py_likelihood_one, py_likelihood_product, py_likelihood_scalar, py_likelihood_sum,
55 py_likelihood_zero, PyLikelihoodEvaluator, PyLikelihoodExpression, PyLikelihoodID,
56 PyLikelihoodManager, PyLikelihoodTerm, PyNLL,
57 },
58 };
59
60 #[pymodule_export]
61 use laddu_extensions::experimental::{py_binned_guide_term, py_regularizer};
62}