VAFT dependency explorer
This page shows how VAFT is organized today, as the source tree says: every node is a Python
module or package, and an arrow from A to B means A contains an import statement naming B.
It is generated from the documented commit
(8bd7ef7)
by Grimp 3.17 and nothing in it is drawn by hand.
What the graph deliberately does not say:
- An import is a source dependency, not a scientific one, and not a call graph. Imports inside
functions and
TYPE_CHECKINGblocks are included, because Grimp reads statements, not execution. - No edge is a verdict. A cross-layer import or an import cycle is a fact to inspect, and many are legitimate; which boundaries VAFT intends is the conceptual question of Computational layers and of scientific ownership (#1645). Scientific architecture says how this observed view relates to the normative one and to production lineage.
- External scientific codes (EFIT, CHEASE, GPEC, …) are executables VAFT invokes, not Python imports, so they never appear here. How the production pipelines run them, and what flows between their stages, is the pipeline lineage explorer. External packages are third-party top-level import names; the standard library is left out.
- Scientific meaning is a third, separate graph: the scientific ontology explorer.
Layers are the package hierarchy and nothing more: vaft.<layer>.* belongs to <layer>, and the
private packages and modules directly under vaft are other. Public objects, their summaries
and their API, scientific-reference and source links come from the
API reference catalog, so the two can never disagree.
How to use it. The default view aggregates modules into packages; arrow width grows with the
number of import statements between them. Switch Level to Modules for single modules, search
for a module or a public object (for example vaft.process.equilibrium or vaft.formula.geometry),
then restrict the view to its dependencies, its dependents, or both, one hop, two hops or
transitively. The detail panel links every import to its line at the documented commit.
Regenerate the snapshot locally with:
pip install -e ".[architecture]"
python -m vaft._dependency_graph --output docs/_data/dependency_graph.yml