mod adaptors;
mod dataset_workflows;
mod envelopes;
mod hashing;
mod manifests;
mod util;

use self::adaptors::register_adaptor_bindings;
use self::dataset_workflows::register_dataset_workflow_bindings;
use self::envelopes::register_envelope_bindings;
use self::hashing::register_hashing_bindings;
use self::manifests::register_manifest_bindings;
use pyo3::prelude::*;
use pyo3::types::PyModule;

#[pymodule(name = "_core")]
fn _core(_py: Python<'_>, m: &Bound<'_, PyModule>) -> PyResult<()> {
    register_adaptor_bindings(m)?;
    register_dataset_workflow_bindings(m)?;
    register_hashing_bindings(m)?;
    register_envelope_bindings(m)?;
    register_manifest_bindings(m)?;
    Ok(())
}

#[cfg(test)]
mod tests;
