|
| 1 | +# Core Modules |
| 2 | + |
| 3 | +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. |
| 4 | + |
| 5 | +## [Client](client.md) |
| 6 | + |
| 7 | +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. |
| 8 | + |
| 9 | +## [Projects](projects.md) |
| 10 | + |
| 11 | +The **Projects** module provides tools for managing project lifecycles: |
| 12 | + |
| 13 | +- [**Registry Manager**](projects.md#fluidize.managers.registry.RegistryManager): |
| 14 | + Handles the user’s complete project registry, with functionality to create, edit, and delete projects. |
| 15 | + |
| 16 | +- [**Project Manager**](projects.md#fluidize.managers.project.ProjectManager): |
| 17 | + Focuses on individual projects, managing the project graph, nodes, and runs, and supporting execution of project-specific workflows. |
| 18 | + |
| 19 | +## [Graph](graph.md) |
| 20 | + |
| 21 | +The **Graph** module provides tools for managing the project graph, which is a representation of the simulation pipeline. |
| 22 | + |
| 23 | +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: |
| 24 | + |
| 25 | +- [**Graph Manager**](graph.md#fluidize.managers.graph.GraphManager): |
| 26 | + Manages the project graph, and provides high level functionality to create, edit, and delete nodes and edges. |
| 27 | + |
| 28 | +- [**Graph Processor**](graph.md#fluidize.managers.graph.graph_processor.GraphProcessor): |
| 29 | + Manages specific operations on the graph data structure within the local filesystem. |
| 30 | + |
| 31 | +## [Node](node.md) |
| 32 | + |
| 33 | +The **Node** module provides tools for managing the metadata, properties, and parameters of individual nodes within a project. |
| 34 | + |
| 35 | +## [Run](run.md) |
| 36 | + |
| 37 | +The **Run** module provides tools for managing simulation pipeline runs within a project: |
| 38 | + |
| 39 | +- [**Runs Manager**](run.md#fluidize.managers.run.RunsManager): |
| 40 | + Manages the high level execution of runs and retrieving run status. |
| 41 | + |
| 42 | +- [**Project Runner**](run.md#fluidize.core.modules.run.project.ProjectRunner): |
| 43 | + Manages the specific execution details of a project pipeline, including environment preparation and node execution order. |
0 commit comments