Hands — PyAutoBuild#
What it owns: execution of the release pipeline. Packaging, tagging,
notebook generation from example scripts, workspace validation runs, and
PyPI publication via release.yml — nightly, when there is new activity to
ship.
Repo: PyAutoLabs/PyAutoBuild
The boundary that matters#
The Hands are a pure executor: no readiness checks of their own, no re-deriving of gate decisions. Readiness is gated upstream — the Brain’s release path consults the vitals faculty, which reads Heart, and only a GREEN verdict reaches the dispatch. Historically Build owned some checking; that all migrated to Heart, and thin shims remain so old entry points still work.
The pieces#
bin/autobuild— the single dispatcher; every operation is a subcommand with--help(pre_build,generate,run_all,tag_and_merge, …).pre_build.sh— the declarative heart of the pipeline: onerun_workspace <repo> <package> <flags> <library>row per workspace describes everything the pipeline needs to know about it.release.yml— package to TestPyPI, verify the install, run the workspace scripts, and on success release to PyPI and tag the workspaces.
For an adopter#
Fork it. The pipeline mechanics are the framework; the run_workspace
table in pre_build.sh and the small maps in autobuild/*.py (which
workspaces to run, what to skip) are the declared config surfaces you
rewrite for your own repos — see The declared config surfaces.