A datablock is simply a generic container to quickly build Datasets and DataLoaders. By itself, a Datablock is just a blueprint on how to assemble your data. It doesn’t do anything on its own until you pass a source into it, you can then easily convert it into a Datasets or a Dataloaders using the build in DataBlock.datasets or DataBlock.dataloaders methods.

The purpose of a Datablock is that every bit needed to build, say, a DataLoaders object is encapsulated within the block, and you can mix and match those blocks like legos.