Developer Guide
Guidance on developing and extending NautilusTrader to meet your trading needs or to contribute improvements back to the project.
The core is written in Rust. Python serves as the control plane for strategy logic, configuration, and orchestration. PyO3 bridges the two, exposing Rust functionality to Python with minimal overhead.
Environment Setup
Set up your development environment with the required tools.
Coding Standards
Code style, formatting, and conventions for the project.
Rust
Working with the Rust core and crate structure.
Python
Python development patterns and PyO3 bindings.
Testing
Testing practices, frameworks, and running the test suite.
Test Datasets
Available test datasets and how to use them.
Docs Style
Documentation standards and writing guidelines.
Releases
Release process and release notes standards.
Adapters
Specifications for developing integration adapters.
Benchmarking
Measuring Rust performance with criterion and divan.
FFI Memory Contract
Memory ownership rules for the foreign function interface.