Description of builders used to produce Materials Project data.
Builders to produce MongoDB collections associated with specific categories of materials data are implemented in the emmet-builders software package. These take a set of MongoDB collections as input, extract and transform data from them, and then output a new collection. The schema used by builders for the input and output collections is defined by a set of standardized document models. We use a Python library called pydantic to structure these document models, and we store our documents models within the emmet-core software package. Additionally, these models are used to define the schema for the Materials Project API which has its server-side code implemented in emmet-api.
The figure below illustrates the entire Materials Project build pipeline including builders and all input/output collections: