Visualize PlatformIO environment dependency graph
Project description
pio-env-graph
⚠️ 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.
Install
From PyPI (once published):
pip install pio-env-graph
From GitHub:
pip install git+https://github.com/eagafonov/pio-env-graph.git
From source:
pip install -e .
Usage
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 immediately
Directions: RL (right-to-left, default), LR, TB, BT.
Examples
Default (RL)
Top to bottom
pio-env-graph -d TB
With ${section.key} references
pio-env-graph --refs
Development
The Makefile handles venv setup automatically on first run:
make test # run tests
make lint # check formatting + lint
make format # auto-format code
Or set up manually:
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
pip install -r requirements-dev.txt
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pio_env_graph-0.1.1.tar.gz.
File metadata
- Download URL: pio_env_graph-0.1.1.tar.gz
- Upload date:
- Size: 339.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8cb105cf079655bb548af0130509fb7d6fd16f2b90ca686398b012ee0d967e91
|
|
| MD5 |
e0f7318264d313a2be36e0d9c74a4b97
|
|
| BLAKE2b-256 |
b835041e3b612f0411bcc8e174ca2b1def107696ba519f41c1537d80a5570883
|
Provenance
The following attestation bundles were made for pio_env_graph-0.1.1.tar.gz:
Publisher:
publish.yml on eagafonov/pio-env-graph
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pio_env_graph-0.1.1.tar.gz -
Subject digest:
8cb105cf079655bb548af0130509fb7d6fd16f2b90ca686398b012ee0d967e91 - Sigstore transparency entry: 1340214834
- Sigstore integration time:
-
Permalink:
eagafonov/pio-env-graph@382c40727c47b198cfc272918c08cc166571dc84 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/eagafonov
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@382c40727c47b198cfc272918c08cc166571dc84 -
Trigger Event:
push
-
Statement type:
File details
Details for the file pio_env_graph-0.1.1-py3-none-any.whl.
File metadata
- Download URL: pio_env_graph-0.1.1-py3-none-any.whl
- Upload date:
- Size: 7.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bfff029dda17d050fdd9a792ce5cf6e449cc7c03d4e4b3c8ca13f1a61c2ac511
|
|
| MD5 |
9b2ff321ee471066ed02d446626122d9
|
|
| BLAKE2b-256 |
8d62a8001cd02997f3c7f39f5f5006d7f3099da0d577117d9c797ea8f8e03088
|
Provenance
The following attestation bundles were made for pio_env_graph-0.1.1-py3-none-any.whl:
Publisher:
publish.yml on eagafonov/pio-env-graph
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pio_env_graph-0.1.1-py3-none-any.whl -
Subject digest:
bfff029dda17d050fdd9a792ce5cf6e449cc7c03d4e4b3c8ca13f1a61c2ac511 - Sigstore transparency entry: 1340214839
- Sigstore integration time:
-
Permalink:
eagafonov/pio-env-graph@382c40727c47b198cfc272918c08cc166571dc84 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/eagafonov
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@382c40727c47b198cfc272918c08cc166571dc84 -
Trigger Event:
push
-
Statement type: