pub mod character_filter;
pub mod dictionary;
pub mod error;
pub mod metadata;
pub mod mode;
pub mod schema;
pub mod segmenter;
pub mod token;
pub mod token_filter;
pub mod tokenizer;
pub mod util;
#[cfg(feature = "train")]
pub mod trainer;
use pyo3::prelude::*;
#[pyfunction]
pub fn version() -> String {
env!("CARGO_PKG_VERSION").to_string()
}
#[pymodule]
fn lindera(m: &Bound<'_, PyModule>) -> PyResult<()> {
tokenizer::register(m)?;
dictionary::register(m)?;
token::register(m)?;
mode::register(m)?;
metadata::register(m)?;
schema::register(m)?;
segmenter::register(m)?;
character_filter::register(m)?;
token_filter::register(m)?;
error::register(m)?;
#[cfg(feature = "train")]
{
let py = m.py();
let trainer_mod = PyModule::new(py, "trainer")?;
trainer_mod.add_function(wrap_pyfunction!(crate::trainer::train, &trainer_mod)?)?;
trainer_mod.add_function(wrap_pyfunction!(crate::trainer::export, &trainer_mod)?)?;
m.add_submodule(&trainer_mod)?;
}
m.add_function(wrap_pyfunction!(version, m)?)?;
m.add("Tokenizer", m.getattr("tokenizer")?.getattr("Tokenizer")?)?;
m.add(
"TokenizerBuilder",
m.getattr("tokenizer")?.getattr("TokenizerBuilder")?,
)?;
m.add(
"Dictionary",
m.getattr("dictionary")?.getattr("Dictionary")?,
)?;
m.add(
"UserDictionary",
m.getattr("dictionary")?.getattr("UserDictionary")?,
)?;
m.add("Token", m.getattr("token")?.getattr("Token")?)?;
m.add("Mode", m.getattr("mode")?.getattr("Mode")?)?;
m.add("Penalty", m.getattr("mode")?.getattr("Penalty")?)?;
m.add("Metadata", m.getattr("metadata")?.getattr("Metadata")?)?;
m.add("Schema", m.getattr("schema")?.getattr("Schema")?)?;
m.add(
"FieldDefinition",
m.getattr("schema")?.getattr("FieldDefinition")?,
)?;
m.add("FieldType", m.getattr("schema")?.getattr("FieldType")?)?;
m.add("LinderaError", m.getattr("error")?.getattr("LinderaError")?)?;
m.add(
"load_dictionary",
m.getattr("dictionary")?.getattr("load_dictionary")?,
)?;
m.add(
"load_user_dictionary",
m.getattr("dictionary")?.getattr("load_user_dictionary")?,
)?;
m.add(
"build_dictionary",
m.getattr("dictionary")?.getattr("build_dictionary")?,
)?;
m.add(
"build_user_dictionary",
m.getattr("dictionary")?.getattr("build_user_dictionary")?,
)?;
#[cfg(feature = "train")]
{
m.add("train", m.getattr("trainer")?.getattr("train")?)?;
m.add("export", m.getattr("trainer")?.getattr("export")?)?;
}
Ok(())
}