Generators: Each Generator, defines a single extract-transform-load (ETL) step. It consists of a Query, a PyBlock, and Loads, which represent the extract, transform, and load steps, respectively. A common pattern in DBgen data pipelines is to query the database, use that information as inputs to a function, and insert the result back into the database. This allows for complicated, multi-step data analyses to be carried out in a flexible, modular, maintainable, and transparent manner.