Core Modules¶
The Fluidize library is composed of a set of core modules that provide a high-level interface for managing Fluidize resources. These modules are designed to be used together to build and execute scientific computing pipelines.
Client¶
The Fluidize Client provides a unified, high-level interface for managing Fluidize resources in both local and cloud API modes. It serves as the primary entry point for creating and running pipelines across these environments.
Projects¶
The Projects module provides tools for managing project lifecycles:
-
Registry Manager: Handles the user’s complete project registry, with functionality to create, edit, and delete projects.
-
Project Manager: Focuses on individual projects, managing the project graph, nodes, and runs, and supporting execution of project-specific workflows.
Graph¶
The Graph module provides tools for managing the project graph, which is a representation of the simulation pipeline.
In a Fluidize project, pipelines are represented as a directed acyclic graph (DAG) where each node represents a module simulation and each edge represents the flow of data between nodes:
-
Graph Manager: Manages the project graph, and provides high level functionality to create, edit, and delete nodes and edges.
-
Graph Processor: Manages specific operations on the graph data structure within the local filesystem.
Node¶
The Node module provides tools for managing the metadata, properties, and parameters of individual nodes within a project.
Run¶
The Run module provides tools for managing simulation pipeline runs within a project:
-
Runs Manager: Manages the high level execution of runs and retrieving run status.
-
Project Runner: Manages the specific execution details of a project pipeline, including environment preparation and node execution order.