libgiza
-- Build Automation Toolkit
libgiza
is a Python package that provides a collection of base
classes used in the construction of giza, which is a documentation build
automation tool. libgiza
provides several of functionality:
- Tools for defining and running build tasks in parallel builds. See
libgiza.app
for the primary interface, along with the componentslibgiza.task
andlibgiza.pool
. Think of this as a worker pool on steroids. - Tools for content generation. See
libgiza.inheritance
for these classes. This is the underlying toolkit for the defining feature of giza, which makes it possible to describe semi-structured content and generate content from base templates or using existing content as a basis for related content. - A Python interface for common git operations. The
GitRepo()
class inlibgiza.git
wraps thegit
command internally, but provides methods for many common operations and more reasonable output/error handling - A base class for defining classes for "configuration" data. See the
ConfigurationBase
andRecursiveConfigurationBase
inlibgiza.config
. These provide support for serialization and de-serialization, easy ingestion from either files or dictionaries, and using default python@property
defined getters and setters for more strict input validation and type checking.