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
libgiza provides several of functionality:
- Tools for defining and running build tasks in parallel builds. See
libgiza.appfor the primary interface, along with the components
libgiza.pool. Think of this as a worker pool on steroids.
- Tools for content generation. See
libgiza.inheritancefor 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
gitcommand 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
libgiza.config. These provide support for serialization and de-serialization, easy ingestion from either files or dictionaries, and using default python
@propertydefined getters and setters for more strict input validation and type checking.