Install & Compatibility
Where this runs
tested against v1.202.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
py 3.10
✕ build_error
✓ 16.53s
py 3.11
✕ build_error
✓ 15.23s
py 3.12
✕ build_error
✓ 14.85s
py 3.13
✕ build_error
✓ 15.38s
py 3.9
✕ build_error
✕ build_error
772MB installed
● package 772MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
TradingNode
✓ from nautilus_trader.live.node import TradingNode
✗ from nautilus_trader.live import TradingNode
TradingNode is in the node submodule, not directly in live
BacktestEngine
✓ from nautilus_trader.backtest.engine import BacktestEngine
✗ from nautilus_trader.backtest import BacktestEngine
BacktestEngine is in the engine submodule
Strategy
✓ from nautilus_trader.model.strategy import Strategy
✗ from nautilus_trader.strategy import Strategy
Strategy base class moved to model submodule in v1.220+
OrderBook
✓ from nautilus_trader.model.data import OrderBook
✗ from nautilus_trader.model import OrderBook
OrderBook is in data submodule
Minimal backtest engine setup. Full example requires data and strategy.
from nautilus_trader.backtest.engine import BacktestEngine
from nautilus_trader.model.data import Bar, BarType, BarSpecification
from nautilus_trader.model.enums import PriceType, AggregationSource
from nautilus_trader.model.identifiers import InstrumentId, Venue, Symbol
from nautilus_trader.model.instruments import Instrument
from nautilus_trader.core.datetime import secs_to_nanos
import pandas as pd
# Create a simple backtest engine
engine = BacktestEngine()
# Create an instrument
instrument_id = InstrumentId(Symbol('ETH/USD'), Venue('BINANCE'))
# (Simplified: real usage involves adding strategies, data, and running)
engine.add_instrument(instrument_id)
print('Backtest engine created successfully.')
nautilus --version
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'nautilus_trader'
Package not installed or installed in the wrong environment.
fixRun 'pip install nautilus_trader' in the correct Python environment (3.12+).
ImportError: cannot import name 'BacktestEngine' from 'nautilus_trader.backtest'
Incorrect import path; BacktestEngine is in backtest.engine.
fixUse 'from nautilus_trader.backtest.engine import BacktestEngine'.
AttributeError: module 'nautilus_trader' has no attribute 'live'
Old version or incorrect import; live engine is a separate subpackage.
fixMake sure you have installed the correct version (>=1.214.0?) and use 'from nautilus_trader.live.node import TradingNode'.
RuntimeError: Rust backend failed to initialize: Could not find nautilus_trader Rust binary
Missing Rust library or broken installation.
fixReinstall with 'pip install --force-reinstall nautilus_trader'. If on a non-standard platform, compile from source with Rust toolchain.
ValueError: Unrecognized instrument class: InstrumentGeneric
Using an obsolete instrument class that was removed in a recent version.
fixUse a concrete instrument class (e.g., Instrument, FuturesInstrument, OptionsInstrument) or update your code to match current API.
Upgrade
Version history
1.228.0latest on PyPI · released Jun 8, 2026
Audit
Dependencies
nautilus-ibapioptionalRequired for Interactive Brokers adapter (optional extra [ib])
coincurveoptionalRequired for dYdX adapter (optional extra [dydx])