nautechsystems / nautilus_trader
Code health
This codebase scores 5.4 out of 10 for code health, which we rate needs work. It also scores maintainability 6.1 and static performance 9.9 out of 10. The three are scored separately and never blended into one number. Risk is concentrated, as it usually is: 766 of 5,357 files are git hotspots, and they average 3.5 — which is where the fixes pay off most.
Do next
1 suggested
2 things worth doing this quarter, 1 of them now.
Worth planning
Delete 1,123 unused symbols and files (16,452 lines)
Nothing in the graph reaches them, across 78 files; every reader and agent pays to skip them.
- symbols
- 1123
- lines
- 16,452
- safe to delete
- Yes(inferred)
Medium effort
Improve what Repowise can see
Add a test coverage report
Without one, Repowise cannot tell tested code from untested code, so every test-related action says “unknown”.
- line coverage
- Unknown, no report
Small effortReview the 44 proposed decisions
None is accepted yet, so nothing can drift from one and agents get no enforced guidance from them.
- proposed
- 44
- accepted
- 0
Medium effort
- Lines of code
- 1.7M
Recent activity
All commitsCommits
- 13b24ca5Fix Binance Futures private user stream URLs3mo ago
- a6242e32Fix v2 matching engine last-price triggers3mo ago
- f507c331Add LiveNode constructed strategy regressions3mo ago
- 79a06923Support add_strategy(instance) on LiveNode (#4487)3mo ago
- c12c58cfFix Binance Futures shared REST rate limits3mo ago
- ea8d0758Fix Miri toolchain drift3mo ago
Decisions
- Fix Polymarket Gamma instrument loading by chunking and matching silent capsproposed · 3mo ago
- Refactor DataEngine instrument subscribers to message bus patternproposed · 3mo ago
- Refactor Polymarket adapter: WS dispatch, instrument handling, and market discoveryproposed · 3mo ago
- Cache Kraken Spot symbol to handle delta-only exec framesproposed · 3mo ago
- Fix Interactive Brokers crypto order sizing for SELL ordersproposed · 3mo ago
- Fix IB v2 fills dropped on non-UTC execution timestampsproposed · 3mo ago
Everything we found
25,830 open
Every detector's open count by area, each with its worst example. An inventory, not a to-do list: the actions above are the part worth doing.
- worst item is critical severity. Code health17,860Untested hotspot · crates/data/src/engine/mod.rs68 findings · 10.0 deducted
- worst item is medium severity. Refactoring1,849PortfolioAnalyzer+1.7 health, XL effort · crates/analysis/src/python/analyzer.rs
- worst item is medium severity. Decisions810crates/data/tests/engine.rs44 awaiting review · 766 hotspots ungoverned
- worst item is medium severity. Ownership3,936crates/execution/src/matching_engine/engine.rs88% single-owner concentration, 57 commits in 90d
- worst item is low severity. Dead code1,375futures_contractUnreachable function (16 lines)
Composition
Open the graph- rust63%
- python34%
- shell2%
- cpp<1%
- makefile<1%
Explore this codebase
- Docs0 pages across 11 modules
- ChatAsk this codebase a question and get an answer with its sources.
- Files5,357 files with per-file docs, health and history
- ArchitectureDependency graph, layers, and 61 entry points
- Code healthPer-file scores, 21,903 open findings, coverage and refactoring targets
- Knowledge graphEntities, communities, and the paths between them
- Change couplingFiles that keep changing together, mined from commit history
- CommitsChange-risk ranked history with agent provenance
- ContributorsBus factor, per-file maintainers, and the human/agent split
- StatsSize class, origin, lifetime churn, rhythm and records
- CostsWhat indexing this snapshot cost, by model and by run.