1#![allow(unused)]
2
3use dev_utils::{app_dt, dlog};
4use pyo3::prelude::*;
5use pyo3::types::{PyDict, PyList};
6use std::cmp::Ordering;
7use std::collections::HashMap;
8use std::time::Instant;
9
10#[pymodule]
14#[pyo3(name = "engine")] fn balance_engine(m: &Bound<'_, PyModule>) -> PyResult<()> {
16 m.add_function(wrap_pyfunction!(init, m)?)?;
17 m.add_function(wrap_pyfunction!(time_exec, m)?)?;
18 Ok(())
19}
20
21#[pyfunction]
23pub fn init() -> PyResult<()> {
24 app_dt!(file!(),
25 "package" => ["authors", "license", "description"]
26 );
27 Ok(())
34}
35
36#[pyfunction]
37fn time_exec(py: Python<'_>, func: Py<PyAny>) -> PyResult<()> {
38 let start = Instant::now();
39 func.call0(py)?;
40 let elapsed = start.elapsed();
41
42 dlog::trace!("- Total execution time: {:?}", elapsed);
43 dlog::trace!("- Milliseconds: {:.2}", elapsed.as_millis());
44 Ok(())
45}