Glossary¶
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. See Functions, nodes & dataflow. |
Node | Hamilton node | Transform |
A single 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. See Functions, nodes & dataflow. |
Function | Python function | Hamilton function | Node definition |
A Python function written by a user to create a single node (in the standard case) or many (using function modifiers). See Functions, nodes & dataflow. |
Module | Python module |
Python code organized into a |
Driver | Hamilton Driver |
An object that loads Python modules to build a dataflow. It is responsible for visualizing and executing the dataflow. See Driver. |
script | runner | driver code |
The piece of code where you create the Driver and execute the dataflow to get results. |
Config |
Data that dictates the way the DAG is constructed. See Driver. |
Function modifiers | Decorators |
A function that modifies how your Hamilton function is compiled into a Hamilton node. See Function modifiers. |