Skip to content

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.