Expand description
Data serialization and format conversion for NautilusTrader.
The nautilus-serialization crate provides data serialization capabilities for converting
trading data between different formats including Apache Arrow and Cap’n Proto.
This enables efficient data storage, retrieval, and interoperability across different systems:
- Apache Arrow integration: Schema definitions and encoding/decoding for market data types.
- Parquet file operations: High-performance columnar storage for historical data analysis.
- Record batch processing: Efficient batch operations for time-series data.
- Schema management: Type-safe schema definitions with metadata preservation.
- Cross-format conversion: Data interchange between Arrow, Cap’n Proto, and native types.
- Cap’n Proto serialization: Zero-copy, schema-based serialization for efficient data interchange (requires
capnpfeature). - SBE decode utilities: Zero-copy cursor and shared decode errors for SBE parsers (requires
sbefeature).
§NautilusTrader
NautilusTrader is an open-source, production-grade, Rust-native engine for multi-asset, multi-venue trading systems.
The system spans research, deterministic simulation, and live execution within a single event-driven architecture, providing research-to-live semantic parity.
§Feature Flags
This crate provides feature flags to control source code inclusion during compilation, depending on the intended use case, i.e. whether to provide Python bindings for the nautilus_trader Python package, or as part of a Rust only build.
arrow: Enables Apache Arrow schema definitions and RecordBatch encoding/decoding.python: Enables Python bindings from PyO3.high-precision: Enables high-precision mode to use 128-bit value types.extension-module: Builds the crate as a Python extension module.capnp: Enables Cap’n Proto serialization support.sbe: Enables generic SBE (Simple Binary Encoding) decode utilities.
Re-exports§
pub use arrow::custom::ensure_custom_data_registered;
Modules§
- account_
capnp - arrow
- Defines the Apache Arrow schema for Nautilus types.
- base_
capnp - capnp
- Cap’n Proto serialization for Nautilus types.
- data_
capnp - enums_
capnp - identifiers_
capnp - market_
capnp - msgpack
- Re-export MsgPack serialization helpers for consumers expecting to configure codecs via this crate.
Provides MsgPack serialization support for types implementing
Serializable. - order_
capnp - position_
capnp - python
- Python bindings from PyO3.
- sbe
- Generic SBE (Simple Binary Encoding) decode utilities.
- trading_
capnp - types_
capnp