crates/network/README.md
Network functionality for NautilusTrader.
The nautilus-network crate provides networking components including HTTP, WebSocket, and raw TCP socket
clients, rate limiting, backoff strategies, and socket TLS utilities for connecting to
trading venues and data providers.
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.
This crate provides feature flags to control source code inclusion during compilation:
python: Enables Python bindings from PyO3.extension-module: Builds as a Python extension module.turmoil: Enables deterministic network simulation testing with turmoil.transport-sockudo: Adds the sockudo-ws WebSocket backend, selectable via WebSocketConfig.backend.The crate includes both standard integration tests and deterministic network simulation tests using turmoil.
To run standard tests:
cargo nextest run -p nautilus-network
To run turmoil network simulation tests:
cargo nextest run -p nautilus-network --features turmoil
The turmoil tests simulate various network conditions (reconnections, partitions, etc.) in a deterministic way, allowing reliable testing of network failure scenarios without flakiness.
Some real localhost socket and WebSocket unit tests are Linux-only for CI stability. On macOS, use the Turmoil tests and soak for deterministic reconnect/path-search coverage, and rely on a Linux run for host TCP unit coverage.
To sweep Turmoil reconnect seeds continuously:
scripts/soak-network-turmoil.sh
Set NAUTILUS_TURMOIL_SOAK_COUNT for a bounded run. The soak alternates the
Tungstenite and Sockudo WebSocket backends on the same seed when
transport-sockudo is enabled.
See the docs for more detailed usage.
The source code for NautilusTrader is available on GitHub under the GNU Lesser General Public License v3.0.
NautilusTrader™ is developed and maintained by Nautech Systems, a technology company specializing in the development of high-performance trading systems. For more information, visit https://nautilustrader.io.
Use of this software is subject to the Disclaimer.
© 2015-2026 Nautech Systems Pty Ltd. All rights reserved.