Skip to content

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.