Fromager tracks 5 dependency types, grouped into build-time and runtime categories.
Build-Time (must be built before parent):
build-system— Frompyproject.toml[build-system].requireswith a fallback to a default provider (see PEP 517)build-backend— Returned by Fromager hooks, which call PEP 517 hooks likeget_requires_for_build_wheelby defaultbuild-sdist— Returned by Fromager hooks, which call PEP 517 hooks by default
Note
Both backend and sdist requirements are built before a package can be built.
Runtime (processed after parent is built):
toplevel— Packages specified via CLI or requirements fileinstall— Runtime dependencies extracted from built wheel (install_requires)
Build dependency fails → Parent cannot build
Install dependency fails → Parent may still build (failure occurs at runtime)
Each edge shows req_type:
{"req_type": "build-system", "req": "setuptools>=45"}
{"req_type": "install", "req": "requests>=2.28"}Use fromager graph to-dot --install-only to filter runtime-only dependencies.