Expand description
Database and messaging infrastructure for NautilusTrader.
The nautilus-infrastructure crate provides backend database implementations and message bus adapters
that enable NautilusTrader to scale from development to production deployments. This includes
enterprise-grade data persistence and messaging capabilities:
- Redis integration: Cache database and message bus implementations using Redis.
- PostgreSQL integration: SQL-based cache database with full data models.
- Connection management: Connection handling with retry logic and health monitoring.
- Serialization options: Support for JSON and MessagePack encoding formats.
- Python bindings: PyO3 integration for Python interoperability.
The crate supports multiple database backends through feature flags, allowing users to choose the appropriate infrastructure components for their specific deployment requirements and scale.
§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.
python: Enables Python bindings from PyO3.redis: Enables the Redis cache database and message bus backing implementations.postgres: Enables the PostgreSQL SQLx models and cache database backend.extension-module: Builds the crate as a Python extension module.