#################### Rust API Reference #################### This section documents the internal Rust implementation of ``read_aconity_layers``. .. note:: This documentation is primarily intended for contributors and developers who want to understand the internal implementation. Most users should refer to the :doc:`../python/index` instead. .. toctree:: :glob: :caption: Rust API: crates/read_aconity_layers/lib ********** Overview ********** The Rust implementation provides the high-performance core of ``read_aconity_layers``. Key characteristics include: Performance Features ==================== - **Parallel Processing**: Uses Rayon for parallel file reading across all CPU cores - **Memory Efficiency**: Streams data rather than loading everything into memory at once - **SIMD Operations**: Leverages vectorized operations for coordinate corrections - **Zero-Copy**: Minimizes data copying between Rust and Python using PyO3 Architecture ============ The crate is organized into two main components: - **Public API** (``src/lib.rs``): PyO3 bindings that expose Rust functions to Python - **Core Logic** (``src/rust_fn/``): Pure Rust implementation of file reading and processing Error Handling ============== The Rust code uses a comprehensive ``ReadError`` enum that covers all possible failure modes, from I/O errors to parsing failures. These are automatically converted to appropriate Python exceptions through the PyO3 integration. Dependencies ============ Key Rust dependencies that power the performance: - ``ndarray`` - N-dimensional arrays with BLAS integration - ``rayon`` - Data parallelism library - ``csv`` - Fast CSV parsing - ``pyo3`` - Python bindings - ``numpy`` - NumPy integration for PyO3 - ``glob`` - File path pattern matching - ``indicatif`` - Progress bars for long operations