1pub mod batch;
7pub mod bug_rating;
8pub mod calculations;
9pub mod diagram;
10pub mod error;
11pub mod types;
12pub mod validation;
13
14use pyo3::prelude::*;
15
16use batch::{BatchInput, BatchOutput, BatchStats, ConversionFormat, InputFormat};
17use bug_rating::{BugRating, ZoneLumens};
18use calculations::{
19 CieFluxCodes, GldfPhotometricData, PhotometricSummary, UgrParams, ZonalLumens30,
20};
21use diagram::SvgTheme;
22use types::{Eulumdat, LampSet, Symmetry, TypeIndicator};
23use validation::ValidationWarning;
24
25#[pymodule]
27fn eulumdat(m: &Bound<'_, PyModule>) -> PyResult<()> {
28 m.add_class::<Eulumdat>()?;
30 m.add_class::<TypeIndicator>()?;
31 m.add_class::<Symmetry>()?;
32 m.add_class::<LampSet>()?;
33
34 m.add_class::<SvgTheme>()?;
36
37 m.add_class::<ValidationWarning>()?;
39
40 m.add_class::<BugRating>()?;
42 m.add_class::<ZoneLumens>()?;
43
44 m.add_class::<PhotometricSummary>()?;
46 m.add_class::<GldfPhotometricData>()?;
47 m.add_class::<CieFluxCodes>()?;
48 m.add_class::<ZonalLumens30>()?;
49 m.add_class::<UgrParams>()?;
50
51 m.add_class::<InputFormat>()?;
53 m.add_class::<ConversionFormat>()?;
54 m.add_class::<BatchInput>()?;
55 m.add_class::<BatchOutput>()?;
56 m.add_class::<BatchStats>()?;
57
58 m.add_function(wrap_pyfunction!(batch::batch_convert, m)?)?;
60
61 Ok(())
62}