Skip to main content

Crate nautilus_live

Crate nautilus_live 

Source
Expand description

Live system node for NautilusTrader.

The crate provides live event transport, execution state management, and node lifecycle support.

  • execution supplies adapter-facing order context, failure classification, report filtering, event emission, and the execution manager. The manager tracks reconciliation state, requests reports for individual checks, and applies startup reconciliation events.
  • node (with the node feature) owns the kernel lifecycle, recurring reconciliation tasks, collection deadlines, cancellation, and dispatch through the live event loop.
  • runner routes asynchronous data, execution, system, and timer traffic.

§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.

  • defi: Enables DeFi (Decentralized Finance) support.
  • examples: Enables example strategies and testkit support for live nodes.
  • extension-module: Builds as a Python extension module.
  • fuzz: Provides shared libFuzzer integration for adapter fuzz binaries.
  • node (default): Enables the live node, builder, configuration, and system-kernel dependencies.
  • plugin (default): Keeps compatibility stubs for plug-in config validation.
  • python: Enables Python bindings from PyO3 and auto-enables node and streaming.
  • simulation: Enables deterministic simulation testing with MadSim.
  • streaming: Enables the nautilus-persistence dependency for streaming configuration and requires node.
  • test-support: Enables engine-wired execution support for adapter integration tests.

§Lean adapter builds

Adapters and other consumers that only need the async event emitter, runner, and ExecutionClientCore re-export can opt out of the full kernel by disabling the node feature:

nautilus-live = { workspace = true, default-features = false }

With node disabled, execution support (including the manager), run-to-completion reconciliation, the runner, socket controls, and task support remain available. This skips the transitive dependencies on nautilus-system, nautilus-trading, nautilus-portfolio, nautilus-risk, and nautilus-data.

§Plug-in support

The open-source live crate does not host dynamic plug-ins directly. nautilus-plugin is the public guest ABI crate, while host-side loading, vtables, bridge adapters, and server policy belong to the host-side plug-in integration. A non-empty LiveNodeConfig.plugins list is rejected unless an application provides that host-side integration.

nautilus-live = { workspace = true, default-features = false, features = ["node"] }

With plugin disabled, the compatibility plugin module is removed. A non-empty LiveNodeConfig.plugins list is rejected under this configuration as well.

Re-exports§

pub use execution::emitter;
pub use execution::emitter::ExecutionEventEmitter;
pub use execution::manager;
pub use node::plugin;
pub use node::builder;
pub use node::config;
pub use socket::SocketControl;
pub use socket::SocketControlFactory;
pub use socket::SocketReconnectLookup;
pub use socket::SocketReconnectRegistry;

Modules§

book
Shared order book recovery state, sequence decisions, and snapshot coordination.
execution
Execution state, reconciliation decisions, and adapter-facing dispatch support.
node
Live trading node built on a single-threaded tokio event loop.
python
Python bindings from PyO3.
runner
Async event loop runner for live and sandbox trading nodes.
socket
Socket state publication and reconnect control for live clients.
task
Async task ownership and bounded shutdown for live components.
testing
Engine-wired support for live adapter integration tests.

Structs§

ExecutionClientCore
Base implementation for execution clients providing identity and connection state.
OrderEventFactory
Factory for generating order and account events.

Enums§

SocketReconnectRequestOutcome
Outcome of a controller-owned reconnect request.