rtl-buddy-graph-extract
Clean-room, stdlib-only extractor feeding the binding tier of
rtl-buddy's design knowledge graph (epic rtl_buddy#375): deterministic
extraction over verif Python and spec markdown into NetworkX node-link
JSON, plus a merge-graphs union used by rb graph build as a
cross-check.
It implements the CLI contract rtl_buddy/graph/extract.py consumes.
The contract is owned by rtl-buddy and evolves to serve it — it
descends historically from shapes once assumed of the upstream
Graphify project (the idea
source, credit where due), but rtl-buddy is fully decoupled from that
tool and claims no compatibility with it. See
docs/extract-contract.md for the full
contract.
Usage
rb-graph-extract extract --format node-link --output binding/graph.json \
verif/**/*.py spec/**/*.md
rb-graph-extract merge-graphs --format node-link --output merged.json \
design/graph.json config/graph.json binding/graph.json
Normally you never run it by hand — rb graph build invokes it when
installed and degrades gracefully when not.
- Only
--format node-linkis supported. - Deterministic only: there is no semantic/LLM pass and no flag to request one.
- No dependencies outside the Python standard library.
Installing (git pin until the first PyPI release)
There is no PyPI release yet. Consume it via a uv git source:
# pyproject.toml of the consuming project
[project.optional-dependencies]
graph-extract = ["rtl-buddy-graph-extract"]
[tool.uv.sources]
rtl-buddy-graph-extract = { git = "https://github.com/rtl-buddy/rtl-buddy-graph-extract" }
or as a standalone tool:
uv tool install git+https://github.com/rtl-buddy/rtl-buddy-graph-extract
Once a PyPI release exists the [tool.uv.sources] pin is dropped and
the dependency resolves normally.
Development
uv run --group test pytest
uv run --group lint ruff check .
uv run --group lint ruff format --check .
Versioning is tag-driven via hatch-vcs, matching rtl_buddy and rtl-buddy-view; the label-driven release workflow will be added when PyPI publishing is set up.
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 rtl_buddy_graph_extract-0.1.0.tar.gz.
File metadata
- Download URL: rtl_buddy_graph_extract-0.1.0.tar.gz
- Upload date:
- Size: 21.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc3397e2064a3b809dfee55a4b746d0ce6bb306f49bd1d0c3d8f6e287930b300
|
|
| MD5 |
0a46f06d9b785cb273f3feba8f0a4db2
|
|
| BLAKE2b-256 |
060bcd5539a847c0a549fd4bfb1c127da24ea9b23f493f343a3c7180b1ad6706
|
Provenance
The following attestation bundles were made for rtl_buddy_graph_extract-0.1.0.tar.gz:
Publisher:
release.yml on rtl-buddy/rtl-buddy-graph-extract
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rtl_buddy_graph_extract-0.1.0.tar.gz -
Subject digest:
cc3397e2064a3b809dfee55a4b746d0ce6bb306f49bd1d0c3d8f6e287930b300 - Sigstore transparency entry: 2489313075
- Sigstore integration time:
-
Permalink:
rtl-buddy/rtl-buddy-graph-extract@98b69989ab3b9dc3cd2ea560cdbf120a68146194 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/rtl-buddy
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@98b69989ab3b9dc3cd2ea560cdbf120a68146194 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file rtl_buddy_graph_extract-0.1.0-py3-none-any.whl.
File metadata
- Download URL: rtl_buddy_graph_extract-0.1.0-py3-none-any.whl
- Upload date:
- Size: 12.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d53db953973d5202da4b62d280e51e3abbe2d9e7f335906a2fca86cac1a24eae
|
|
| MD5 |
c84a7b36b680634eb68bacaeb0d4a290
|
|
| BLAKE2b-256 |
ae361af1fd202203e11526e4c8a697b3e7d5fb4b577ed48cf39c3d8026789d3d
|
Provenance
The following attestation bundles were made for rtl_buddy_graph_extract-0.1.0-py3-none-any.whl:
Publisher:
release.yml on rtl-buddy/rtl-buddy-graph-extract
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rtl_buddy_graph_extract-0.1.0-py3-none-any.whl -
Subject digest:
d53db953973d5202da4b62d280e51e3abbe2d9e7f335906a2fca86cac1a24eae - Sigstore transparency entry: 2489313096
- Sigstore integration time:
-
Permalink:
rtl-buddy/rtl-buddy-graph-extract@98b69989ab3b9dc3cd2ea560cdbf120a68146194 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/rtl-buddy
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@98b69989ab3b9dc3cd2ea560cdbf120a68146194 -
Trigger Event:
workflow_dispatch
-
Statement type: