Pieces
Pieces are the secret sauce of Domino, they are functional units that can be distributed and reused in multiple Workflows. Domino Pieces are special because they:
can execute anything written in Python, heavy-weight (e.g. Machine Learning) as well as light-weight (e.g. sending emails) tasks
have well defined data models for inputs, outputs and secrets (using Pydantic)
run in self-contained and isolated execution environments (Docker containers)
are immutable, guaranteeing reproducibility of your workflows.
are organized in git repositories, for easy packaging, distribution and installation.
are properly versioned, tested and documented.
are plug-and-play and versatile, can be easily incorporated in any workflow.
It is very easy to create and share your own Pieces! Check the resources below:
📄️ Pieces repository
The easiest way to start your Pieces repository is to use our Template for Pieces repository.
📄️ Create Pieces
Domino defines standards for writing and distributing modular Pieces, which guarantees their reusability and consistency across Workflows. Those Pieces can be included in any Workflow by drag-and-drop, and Domino will take care of running them according to user choices.
📄️ Pieces unit testing
Domino provides a convenient function to test Pieces, the piecedryrun function.