⚠️ Early development — this project is in beta. The core functionality works but the API and CLI flags may change between releases. Feedback and bug reports are welcome.
Visualize extends dependencies between sections in platformio.ini as a Graphviz DOT graph.
From PyPI (once published):
pip install pio-env-graphFrom GitHub:
pip install git+https://github.com/eagafonov/pio-env-graph.gitFrom source:
pip install -e .pio-env-graph # auto-discovers ./platformio.ini
pio-env-graph /path/to/platformio.ini # explicit path
pio-env-graph -o graph.dot # write to file
pio-env-graph | dot -Tpng -o graph.png # render to PNG
pio-env-graph -d LR # left-to-right (default: RL)
pio-env-graph --refs # include ${section.key} references
pio-env-graph | dot -Tpng | display - # render and display immediatelyDirections: RL (right-to-left, default), LR, TB, BT.
pio-env-graph -d TBpio-env-graph --refsThe Meshtastic firmware project has 254 sections and 255 edges — view the full graph (large image, DOT source).
The Makefile handles venv setup automatically on first run:
make test # run tests
make lint # check formatting + lint
make format # auto-format codeOr set up manually:
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
pip install -r requirements-dev.txt

