Home

Awesome

GitHub Actions status Supported Versions of Python PyPI package version

Clade

Clade is a tool for intercepting build commands (stuff like compilation, linking, mv, rm, and all other commands that are executed during build). Intercepted commands can be parsed (to search for input and output files, and options) and then used for various purposes:

The interception of build commands is independent of the project type and used programming languages. However, all other functionality available in Clade IS dependent. Currently only C projects are supported, but other languages and additional functionality can be supported through the built-in extension mechanism.

Prerequisites

An important part of Clade - a build commands intercepting library - is written in C and it needs to be compiled before use. It will be performed automatically at the installation stage, but you will need to install some prerequisites beforehand:

Linux only:

Windows only:

Optional dependencies:

Clade works on Linux, macOS and partially on Windows.

Hardware requirements

If you want to run Clade on a large project, like the Linux kernel, you will need at least 16GB of RAM and 100GB of free disk space for temporary files. The size of generated data will be approximately 10GB, so the space used for temporary files will be freed at the end. Also several CPU cores are recommended, since in some cases Clade takes twice as long time than a typical build process.

Installation

To install the latest stable version just run the following command:

python3 -m pip install clade

Documentation

Following documentation is available:

You can also download an example of Clade output on the Linux kernel (configuration tinyconfig) from here (around 40MB).

Acknowledgments

Clade is inspired by the Bear project created by László Nagy.