core#

Core#

Core maize functionality.

Modules

maize.core.channels

Channels Communication channels used for passing files and data between components.

maize.core.component

Component Provides a component class acting as the base for a graph or a component (node) thereof.

maize.core.graph

Graph Graph is the container for any kind of graph, and can also act as an individual component, for example when used as a subgraph. It will contain multiple nodes, connected together using channels. It can also directly expose parameters. Workflow extends Graph by providing executing and serialization features. Building a graph can be done programatically.

maize.core.interface

Interface This module encompasses all possible node interfaces. This includes parameters, such as configuration files (using FileParameter) and simple values (using Parameter), but also Input (MultiInput) and Output (MultiOutput) ports allowing the attachment of (multiple) channels to communicate with other nodes. All interfaces expose a datatype attribute that is used to ensure the usage of correct types when constructing a workflow graph.

maize.core.node

Node Nodes are the individual atomic components of workflow graphs and encapsulate arbitrary computational behaviour. They communicate with other nodes and the environment only through ports, and expose parameters to the user. Custom behaviour is implemented by subclassing and defining the Node.run method.

maize.core.runtime

Run Graph running infrastructure enabling parallel execution of nodes.

maize.core.workflow

Workflow The top-level graph class, i.e. the root node. Subclasses from Graph to add checkpointing, file IO, and execution orchestration.