pelorus 0.1.0

A high-performance GPS map-matching library for geospatial road network processing
Documentation
#[cfg(feature = "python-bindings")]
use pyo3::prelude::*;

pub mod matching;
pub mod probability;
pub mod road_network;
pub mod routing;
pub mod types;
pub mod viterbi;

#[cfg(feature = "python-bindings")]
pub mod python_bindings;

/// A Python module implemented in Rust.
#[cfg(feature = "python-bindings")]
#[pymodule]
#[pyo3(name = "_pelorus")]
fn pelorus(m: &Bound<'_, PyModule>) -> PyResult<()> {
    use python_bindings::*;
    
    // Add core data types
    m.add_class::<PyGpsMeasurement>()?;
    m.add_class::<PyRoadNetwork>()?;
    m.add_class::<PyMapMatcher>()?;
    m.add_class::<PyMapMatchingConfig>()?;
    
    // Add result types
    m.add_class::<PyMatchedPoint>()?;
    m.add_class::<PyMatchedTrace>()?;
    
    Ok(())
}