Registry / data / nautilus-trader

nautilus-trader

JSON →
library1.228.0pypypi✓ verified 83d ago

Production-grade, Rust-native algorithmic trading engine with a deterministic event-driven architecture. Current version: 1.226.0 (Beta, released 2026-04-29). Requires Python >=3.12,<3.15. Active development with frequent releases (roughly every 2-4 weeks).

pip install nautilus_trader
INSTALL
IMPORT
SIG · NAUTILUS-TRADER
N
nautilus-trader
datapythonv1.228.0
Install
15.5s avg
Import
2934ms
Disk
772MB
Pass rate
4/ 10
Env Coverage4 / 10
glibc
3.93.13
musl
3.93.13
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
musl
glibc
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
Debug
Known issues
gotchaPython 3.11 support dropped in v1.221.0 (final release with Python 3.11 was v1.221.0). Use Python >=3.12.
fix
Upgrade to Python 3.12, 3.13, or 3.14 (note: dYdX and IB adapters may not support 3.14 yet).
affects: >=1.221.0
gotchadYdX adapter (extra [dydx]) not available on Python 3.14 due to upstream coincurve incompatibility.
fix
Use Python 3.12 or 3.13 if you need dYdX adapter.
affects: >=1.222.0
gotchaInteractive Brokers adapter (extra [ib]) not available on Python 3.14 due to upstream nautilus-ibapi incompatibility.
fix
Use Python 3.12 or 3.13 if you need IB adapter.
affects: >=1.222.0
breakingThe base class for strategies moved from nautilus_trader.strategy to nautilus_trader.model.strategy in v1.220+. Old imports will break.
fix
Update imports to 'from nautilus_trader.model.strategy import Strategy'.
affects: >=1.220.0
gotchanautilus_trader uses Rust under the hood. pip install may build native code and require Rust toolchain (rustc, cargo) on some platforms.
fix
Install Rust from rustup.rs, or use pre-built wheels if available for your platform.
affects: all
deprecatedPython 3.11 support ended with v1.221.0.
fix
Upgrade Python to >=3.12.
affects: <=1.221.0
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'nautilus_trader'
Package not installed or installed in the wrong environment.
fix
Run '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.
fix
Use '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.
fix
Make 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.
fix
Reinstall 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.
fix
Use 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])
Agent activity
44 hits · last 30 days
node
42
OpenAI (training)
1
Resources