EasyBuild is a software installation framework in Python that allows you to install software in a structured and robust way.
The EasyBuild framework takes an EasyBlock (a custom Python class) combined with a specification file to build the software and produce an environment module.
The framework will resolve and install dependencies, apply patches, run the installation steps specified in the EasyBlock and save the log file and specification file next to the package installation.
Configuration files encoded with the EasyBuild version number are automatically kept under version control after each successful build. This ensures each installation can later be reproduced and shared with others.