mecfs_bio.build_system
Incremental build system framework. See "Build Systems a la Carte" by Mokhov, Mitchell, and Peyton Jones for a conceptual discussion.
Modules:
-
asset–An asset is a materialized directory or file that is either of interest in itself, or is an input to downstream Task.
-
data_manipulation–Reusable data processing code
-
meta–Meta objects are uniquely identifying metadata describing either an asset that currently exists, or an asset that can be created by a build system.
-
rebuilder–A rebuilder performs the following key operations: A) Decide whether a given asset is up-to-date using the info-store. B) If the asset is up-to-date, return it together with the info-store. C) If the asset is not up-to-date, bring it up-to-date, update the info-store, and return the new values of both.
-
reference–Vendored reference data.
-
runner–Runners are convenience objects that bundle a scheduler with a rebuilder to create a complete build system.
-
scheduler–Given target assets, the scheduler is responsible for traversing the dependency graph to reach those target assets.
-
serialization–Utilities for serializing the state of the build system.
-
task–Task objects are where the "real work" of the build system is encapsulated.
-
task_generator–A Task generator concisely generates multiple inter-related tasks with a few lines of code.
-
tasks–A "Tasks" is a collection that maps each asset id to the Task that materializes the corresponding Asset.
-
wf–A WF (or Workflow) is an interface tasks can use to download files.