Yabs is a build system that takes the form of a Python library.
Build systems that use Yabs are specified as a Python programme that makes calls to Yabs functions to register rules for object files, executables and other build targets. A primary aim of Yabs is to provide high-level functionality so that these programmes are shorter and easier to write than makefiles or similar.
Rules are expressed as Python functions which take a target filename and, if the rule can generate this target, return a Python tuple containing the command(s) that should be run (or a python function to be called) to create the target and a list of the target's prerequisites required by these commands. This design means that the full power of the Python language is available to the user when writing rules.
These details are provided for information only. No information here is legal advice and should not be used as such.