use pyo3::prelude::*;
pub mod async_ops;
pub mod dlpack;
pub mod error;
pub mod gpu_ops;
pub mod pandas_compat;
pub mod parallel;
#[cfg(feature = "cluster")]
pub mod cluster;
#[cfg(feature = "series")]
pub mod series;
#[cfg(feature = "linalg")]
pub mod linalg;
#[cfg(feature = "stats")]
pub mod stats;
#[cfg(feature = "fft")]
pub mod fft;
#[cfg(feature = "optimize")]
pub mod optimize;
#[cfg(feature = "special")]
pub mod special;
#[cfg(feature = "integrate")]
pub mod integrate;
#[cfg(feature = "interpolate")]
pub mod interpolate;
#[cfg(feature = "signal")]
pub mod signal;
#[cfg(feature = "spatial")]
pub mod spatial;
#[cfg(feature = "sparse")]
pub mod sparse;
#[cfg(feature = "ndimage")]
pub mod ndimage;
#[cfg(feature = "graph")]
#[allow(deprecated)] #[allow(unused_must_use)] pub mod graph;
#[cfg(feature = "metrics")]
pub mod metrics;
#[cfg(feature = "io")]
pub mod io;
#[cfg(feature = "datasets")]
pub mod datasets;
#[cfg(feature = "transform")]
pub mod transform;
#[cfg(feature = "text")]
pub mod text;
#[cfg(feature = "vision")]
pub mod vision;
#[cfg(feature = "autograd")]
pub mod autograd;
#[cfg(feature = "neural")]
pub mod neural;
#[pymodule]
fn scirs2(m: &Bound<'_, PyModule>) -> PyResult<()> {
m.add("__version__", env!("CARGO_PKG_VERSION"))?;
m.add(
"__author__",
"COOLJAPAN OU (Team KitaSan) <contact@cooljapan.tech>",
)?;
async_ops::register_async_module(m)?;
pandas_compat::register_pandas_module(m)?;
dlpack::register_dlpack_module(m)?;
parallel::register_parallel_module(m)?;
gpu_ops::register_gpu_module(m)?;
#[cfg(feature = "cluster")]
cluster::register_module(m)?;
#[cfg(feature = "series")]
series::register_module(m)?;
#[cfg(feature = "linalg")]
linalg::register_module(m)?;
#[cfg(feature = "stats")]
stats::register_module(m)?;
#[cfg(feature = "fft")]
fft::register_module(m)?;
#[cfg(feature = "optimize")]
optimize::register_module(m)?;
#[cfg(feature = "special")]
special::register_module(m)?;
#[cfg(feature = "integrate")]
integrate::register_module(m)?;
#[cfg(feature = "interpolate")]
interpolate::register_module(m)?;
#[cfg(feature = "signal")]
signal::register_module(m)?;
#[cfg(feature = "spatial")]
spatial::register_module(m)?;
#[cfg(feature = "sparse")]
sparse::register_module(m)?;
#[cfg(feature = "ndimage")]
ndimage::register_module(m)?;
#[cfg(feature = "graph")]
graph::register_module(m)?;
#[cfg(feature = "metrics")]
metrics::register_module(m)?;
#[cfg(feature = "io")]
io::register_module(m)?;
#[cfg(feature = "datasets")]
datasets::register_module(m)?;
#[cfg(feature = "transform")]
transform::register_module(m)?;
#[cfg(feature = "text")]
text::register_module(m)?;
#[cfg(feature = "vision")]
vision::register_module(m)?;
#[cfg(feature = "autograd")]
autograd::register_module(m)?;
#[cfg(feature = "neural")]
neural::register_module(m)?;
Ok(())
}