Skip to main content

Crate nautilus_serialization

Crate nautilus_serialization 

Source
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 capnp feature).
  • SBE decode utilities: Zero-copy cursor and shared decode errors for SBE parsers (requires sbe feature).

§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