Lexicon#
Before we dive into the concepts, let’s clarify the terminology we’ll be using:
Directed Acyclic Graph (DAG) |
A directed acyclic graph is a computer science/mathematics term for representing the world with “nodes” and “edges”, where “edges” only flow in one direction. It is called a graph because it can be drawn and visualized. |
Dataflow |
The organization of functions and dependencies. This is a DAG – it’s directed (one function is running before the other), acyclic, (there are no cycles, i.e., no function runs before itself), and a graph (it is easily naturally represented by nodes and edges) and can be represented visually. |
Transform Function, or simply Function |
A python function used to represent a Hamilton transform – it can compile to one (in the standard case) or many (with the use of decorators) transforms. See Hamilton Functions for more details. |
Transform |
A step in the dataflow DAG representing a computation – usually 1:1 with functions but decorators break that pattern – in which case multiple transforms trace back to a single function. |
Node |
Synonymous with Transform. A node in the DAG is equivalent to a transform step in the DAG. |
Hamilton Driver |
A specific class written to enable execution of the DAG with certain parameters. This will be your main interface with your Hamilton code. See Running Your Code for more detail. |
“driver” script/code |
Code that you write to tell Hamilton what the DAG is, what outputs you want, and where the inputs come from. |
Config |
Data that dictates the way the DAG is constructed. See Running Your Code for more details. |
Decorators |
A python function that modifies another python function in some way. Used in Hamilton to compile functions to sets of transforms. See Overview of Decorators for more detail. |