commaai/openpilot · Architecture
A static read of how commaai/openpilot is wired together — module coupling, layering, and circular dependencies — derived from its import graph.
B
Architecture grade
score 78/100
4
Import cycles
lower is better
303
Modules parsed
909 edges
96%
Layeredness
clean-layer ratio
Most-depended-on modules
These are the highest-fan-in files — change them and the blast radius is largest. Read them first.
- openpilot/cereal/__init__.py75 importers · radius 197
- openpilot/common/test.py63 importers · radius 67
- openpilot/common/params.py61 importers · radius 184
- openpilot/selfdrive/ui/ui_state.py44 importers · radius 50
- openpilot/common/realtime.py41 importers · radius 122
- openpilot/cereal/messaging/__init__.py40 importers · radius 118
- openpilot/common/swaglog.py33 importers · radius 184
- openpilot/common/hardware/__init__.py29 importers · radius 184
Modules (24)
Source directories grouped from the import graph. Each links to a per-module page with its files and how it couples to the rest.
- openpilot/common28 files · 354 in-degree · in cycle
- openpilot/cereal3 files · 107 in-degree
- openpilot/common/hardware4 files · 49 in-degree · in cycle
- openpilot/selfdrive/ui4 files · 47 in-degree · in cycle
- openpilot/selfdrive/controls/lib10 files · 31 in-degree
- openpilot/common/transformations5 files · 21 in-degree
- openpilot/selfdrive/test/process_replay9 files · 20 in-degree
- openpilot/selfdrive/modeld8 files · 20 in-degree
- openpilot/selfdrive/selfdrived5 files · 19 in-degree
- openpilot/selfdrive/ui/mici/widgets3 files · 19 in-degree
- openpilot/selfdrive/ui/mici/onroad10 files · 18 in-degree
- openpilot/selfdrive/locationd6 files · 16 in-degree
- openpilot/selfdrive/ui/onroad8 files · 12 in-degree
- openpilot/selfdrive/test4 files · 10 in-degree · in cycle
- openpilot/selfdrive/ui/mici/layouts/settings6 files · 9 in-degree
- openpilot/selfdrive/ui/widgets6 files · 9 in-degree
- openpilot/selfdrive/ui/layouts4 files · 9 in-degree
- openpilot/selfdrive/ui/layouts/settings7 files · 8 in-degree
- openpilot/system/athena4 files · 8 in-degree
- openpilot/selfdrive/ui/mici/layouts4 files · 8 in-degree
- openpilot/common/hardware/comma4 files · 7 in-degree · in cycle
- openpilot/selfdrive/locationd/models3 files · 7 in-degree
- openpilot/common/esim2 files · 6 in-degree
- openpilot/selfdrive/car4 files · 5 in-degree
Circular dependencies (4)
- openpilot/common/hardware/hw.py to openpilot/common/hardware/__init__.py to openpilot/common/hardware/comma/hardware.py to openpilot/common/params.py to openpilot/common/swaglog.py to openpilot/common/hardware/hw.py
- openpilot/selfdrive/ui/ui_state.py to openpilot/selfdrive/ui/lib/prime_state.py to openpilot/selfdrive/ui/ui_state.py
- openpilot/selfdrive/test/mem_usage.py to openpilot/selfdrive/test/test_onroad.py to openpilot/selfdrive/test/mem_usage.py
- openpilot/selfdrive/ui/tests/diff/replay.py to openpilot/selfdrive/ui/tests/diff/replay_script.py to openpilot/selfdrive/ui/tests/diff/replay.py
Ask AI about commaai/openpilot
Grounded in the actual source code. Pick a starter question or write your own.
What does this repo do, in one paragraph?How would I get started using it?What are the main alternatives?Show me the entry point.
Or write your own questionInformational only. RepoPilot summarises public signals at the time of analysis; they can be incomplete or stale. Not professional, security, or legal advice.