pub use crate::arithmetic::py as arithmetic;
pub use crate::client::py as client;
pub use crate::core::py as core;
pub use crate::data::py as data;
pub use crate::factors::py as factors;
pub use crate::keys::py as keys;
pub use crate::transcryptor::py as transcryptor;
use pyo3::prelude::*;
pub fn register_module(m: &Bound<'_, PyModule>) -> PyResult<()> {
let py = m.py();
let arithmetic_module = PyModule::new(py, "arithmetic")?;
arithmetic::register_module(&arithmetic_module)?;
m.add_submodule(&arithmetic_module)?;
py.import("sys")?
.getattr("modules")?
.set_item("libpep.arithmetic", &arithmetic_module)?;
let core_module = PyModule::new(py, "core")?;
core::register_module(&core_module)?;
m.add_submodule(&core_module)?;
py.import("sys")?
.getattr("modules")?
.set_item("libpep.core", &core_module)?;
let client_module = PyModule::new(py, "client")?;
client::types::register(&client_module)?;
client::distributed::register(&client_module)?;
client::functions::register(&client_module)?;
#[cfg(feature = "batch")]
client::batch::register(&client_module)?;
m.add_submodule(&client_module)?;
py.import("sys")?
.getattr("modules")?
.set_item("libpep.client", &client_module)?;
let transcryptor_module = PyModule::new(py, "transcryptor")?;
transcryptor::types::register(&transcryptor_module)?;
transcryptor::distributed::register(&transcryptor_module)?;
transcryptor::functions::register(&transcryptor_module)?;
#[cfg(feature = "batch")]
transcryptor::batch::register(&transcryptor_module)?;
m.add_submodule(&transcryptor_module)?;
py.import("sys")?
.getattr("modules")?
.set_item("libpep.transcryptor", &transcryptor_module)?;
let keys_module = PyModule::new(py, "keys")?;
keys::register(&keys_module)?;
m.add_submodule(&keys_module)?;
py.import("sys")?
.getattr("modules")?
.set_item("libpep.keys", &keys_module)?;
let data_module = PyModule::new(py, "data")?;
data::simple::register(&data_module)?;
#[cfg(feature = "long")]
data::long::register(&data_module)?;
data::padding::register(&data_module)?;
data::records::register(&data_module)?;
m.add_submodule(&data_module)?;
py.import("sys")?
.getattr("modules")?
.set_item("libpep.data", &data_module)?;
#[cfg(feature = "json")]
{
let json_module = PyModule::new(py, "json")?;
data::json::register(&json_module)?;
data_module.add_submodule(&json_module)?;
py.import("sys")?
.getattr("modules")?
.set_item("libpep.data.json", &json_module)?;
}
let factors_module = PyModule::new(py, "factors")?;
factors::contexts::register(&factors_module)?;
factors::types::register(&factors_module)?;
factors::secrets::register(&factors_module)?;
m.add_submodule(&factors_module)?;
py.import("sys")?
.getattr("modules")?
.set_item("libpep.factors", &factors_module)?;
Ok(())
}