Crate nautilus_infrastructure

Source
Expand description

Database and messaging infrastructure for PoseiTrader.

The infrastructure crate provides backend database implementations and message bus adapters that enable PoseiTrader 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 comprehensive data models.
  • Connection management: Robust connection handling with retry logic and health monitoring.
  • Serialization options: Support for JSON and MessagePack encoding formats.
  • Python bindings: PyO3 integration for seamless 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.

§Platform

PoseiTrader is an open-source, high-performance, production-grade algorithmic trading platform, providing quantitative traders with the ability to backtest portfolios of automated trading strategies on historical data with an event-driven engine, and also deploy those same strategies live, with no code changes.

PoseiTrader’s design, architecture, and implementation philosophy prioritizes software correctness and safety at the highest level, with the aim of supporting mission-critical, trading system backtesting and live deployment workloads.

§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 posei_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.
  • sql: Enables the SQL models and cache database.

Modules§

python
Python bindings from PyO3.
redis
Provides a Redis backed CacheDatabase and MessageBusDatabase implementation.
sql
SQL database implementations and utilities.