Skip to content

Commit ec05b32

Browse files
authored
Merge pull request #7 from Fluidize-Inc/documentation
Documentation updates
2 parents 8ba36b2 + 1e197c2 commit ec05b32

33 files changed

Lines changed: 2146 additions & 780 deletions

File tree

README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ Students and researchers face significant barriers when working with different s
5656
- **Reproducibility issues** – Sharing and reproducing experiments is frequently cumbersome and error-prone.
5757
- **Scaling friction** – Moving from a local prototype to a cloud environment or dedicated compute cluster can be slow and difficult.
5858

59+
5960
## The Solution
6061

6162
Fluidize provides a standardized wrapper that turns complex scientific software into modular components. This makes it possible to:
@@ -66,12 +67,14 @@ Fluidize provides a standardized wrapper that turns complex scientific software
6667

6768
All of this works with **minimal or no changes** to the existing codebase, allowing our framework to scale effortlessly to any repository.
6869

70+
6971
## Architecture
7072

7173
At Fluidize, we believe strong organization leads to better reproducibility and scalability.
7274

7375
We treat each simulation pipeline as an individual project. Within projects, each pipeline is treated as a DAG (directed acyclic graph), where nodes represent individual pieces of scientific software (e.g. inputs, solvers, visualization tools, etc.) and edges represent data flow between nodes.
7476

77+
7578
### Nodes
7679
Nodes are the foundational building blocks of simulation pipelines. Each node represents a computational unit with:
7780

@@ -90,6 +93,7 @@ Nodes are the foundational building blocks of simulation pipelines. Each node re
9093
- No source code modification required
9194
- Automated node generation support (Public launch soon)
9295

96+
9397
### Projects
9498

9599
Projects store a simple data layer for managing individual modules within a pipeline.
@@ -99,10 +103,12 @@ Projects store a simple data layer for managing individual modules within a pipe
99103
| `graph.json` | Node (scientific software) and edge (data flow) definitions |
100104
| `metadata.yaml` | Project description and configuration |
101105

106+
102107
### Runs
103108

104109
Pipelines can be executed both locally and on the cloud. Local execution is handled by Docker engine. Cloud execution is routed through our API, and uses the Kubernetes engine with Argo Workflow Manager.
105110

111+
106112
## Documentation
107113

108114
Comprehensive documentation is available at [https://Fluidize-Inc.github.io/fluidize-python/](https://Fluidize-Inc.github.io/fluidize-python/)
@@ -112,12 +118,14 @@ Comprehensive documentation is available at [https://Fluidize-Inc.github.io/flui
112118
- [Project Orchestration](https://Fluidize-Inc.github.io/fluidize-python/projects)
113119
- [API Reference](https://Fluidize-Inc.github.io/fluidize-python/api)
114120

121+
115122
## Contributing
116123

117124
We would love to collaborate with you! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
118125

119126
Also - we would love to help streamline your pipeline! Please reach out to us at [founders@fluidize.ai](mailto:founders@fluidize.ai).
120127

128+
121129
## Vision and Roadmap
122130

123131
This is just the beginning of what we believe will be a really exciting new era for how we conduct research and make discoveries in science.
@@ -127,6 +135,7 @@ By standardizing tools, we hope to significantly increase the effectiveness of A
127135
- **Auto-Fluidize**: Automatically convert any scientific software to run anywhere with our framework.
128136
- **Fluidize AI Playground**: Explore and build simulation pipelines with natural language.
129137

138+
130139
## License
131140

132141
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,24 @@ The Fluidize Client is the primary interface to create and edit projects. There
66

77
- **API Mode**: Runs on Fluidize API to manage projects and workflows in the cloud.
88

9-
## Client API
10-
11-
### FluidizeClient
129
::: fluidize.client.FluidizeClient
1310
options:
1411
show_source: false
12+
heading_level: 3
13+
extra:
14+
show_root_heading: true
1515
members:
1616
- mode
1717
- adapters
1818
- projects
1919
- runs
2020

21-
### FluidizeConfig
2221
::: fluidize.config.FluidizeConfig
2322
options:
2423
show_source: false
24+
heading_level: 3
25+
extra:
26+
show_root_heading: true
2527
members:
2628
- is_local_mode
2729
- is_api_mode

docs/core-modules/execute.md

Lines changed: 0 additions & 25 deletions
This file was deleted.

docs/core-modules/graph.md

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
# Graph Module
22

3+
## Graph Manager
34
::: fluidize.managers.graph.GraphManager
45
options:
56
show_source: false
7+
heading_level: 3
8+
extra:
9+
show_root_heading: true
610
members:
711
- get
812
- add_node
@@ -11,29 +15,35 @@
1115
- add_edge
1216
- delete_edge
1317

18+
## Graph Processor
1419
::: fluidize.core.modules.graph.GraphProcessor
1520
options:
1621
show_source: false
22+
heading_level: 3
23+
extra:
24+
show_root_heading: true
1725

1826
## Graph Types
1927

20-
### GraphData
21-
::: fluidize.core.types.GraphData
28+
::: fluidize.core.types.graph.GraphData
2229
options:
23-
show_source: false
24-
show_root_heading: true
2530
heading_level: 3
31+
extra:
32+
show_attributes: true
33+
show_root_heading: true
34+
2635

27-
### GraphNode
28-
::: fluidize.core.types.GraphNode
36+
::: fluidize.core.types.graph.GraphNode
2937
options:
30-
show_source: false
31-
show_root_heading: true
3238
heading_level: 3
39+
extra:
40+
show_attributes: true
41+
show_root_heading: true
42+
3343

34-
### GraphEdge
35-
::: fluidize.core.types.GraphEdge
44+
::: fluidize.core.types.graph.GraphEdge
3645
options:
37-
show_source: false
38-
show_root_heading: true
3946
heading_level: 3
47+
extra:
48+
show_attributes: true
49+
show_root_heading: true

docs/core-modules/projects.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,14 @@
44
::: fluidize.managers.registry.RegistryManager
55
options:
66
show_source: false
7-
show_root_heading: true
87
heading_level: 3
8+
extra:
9+
show_root_heading: true
910

1011
## Project
1112
::: fluidize.managers.project.ProjectManager
1213
options:
1314
show_source: false
14-
show_root_heading: true
1515
heading_level: 3
16+
extra:
17+
show_root_heading: true

docs/core-modules/run.md

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,29 @@
22

33
## Run Management
44

5-
### RunsManager
65
::: fluidize.managers.runs.RunsManager
76
options:
87
show_source: false
8+
heading_level: 3
9+
extra:
10+
show_root_heading: true
911
members:
1012
- run_flow
1113
- list
1214
- get_status
1315

1416
## Run Execution
1517

16-
### RunJob
1718
::: fluidize.core.modules.run.RunJob
1819
options:
1920
show_source: false
21+
heading_level: 3
22+
extra:
23+
show_root_heading: true
2024

21-
### ProjectRunner
22-
::: fluidize.core.modules.run.ProjectRunner
25+
::: fluidize.core.modules.run.project.ProjectRunner
2326
options:
2427
show_source: false
28+
heading_level: 3
29+
extra:
30+
show_root_heading: true

docs/getting-started/projects-nodes.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

docs/getting-started/quickstart.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Getting Started

docs/index.md

Lines changed: 92 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,94 @@
1-
# fluidize-python
1+
# Fluidize
22

3-
[![Release](https://img.shields.io/github/v/release/Fluidize-Inc/fluidize-python)](https://img.shields.io/github/v/release/Fluidize-Inc/fluidize-python)
4-
[![Build status](https://img.shields.io/github/actions/workflow/status/Fluidize-Inc/fluidize-python/main.yml?branch=main)](https://github.com/Fluidize-Inc/fluidize-python/actions/workflows/main.yml?query=branch%3Amain)
5-
[![Commit activity](https://img.shields.io/github/commit-activity/m/Fluidize-Inc/fluidize-python)](https://img.shields.io/github/commit-activity/m/Fluidize-Inc/fluidize-python)
6-
[![License](https://img.shields.io/github/license/Fluidize-Inc/fluidize-python)](https://img.shields.io/github/license/Fluidize-Inc/fluidize-python)
3+
[![Python](https://img.shields.io/badge/python-3.9%2B-blue?style=for-the-badge&logo=python&logoColor=white)](https://python.org)
4+
[![PyPI](https://img.shields.io/pypi/v/fluidize?style=for-the-badge&logo=pypi&logoColor=white)](https://pypi.org/project/fluidize/)
5+
[![License](https://img.shields.io/github/license/Fluidize-Inc/fluidize-python?style=for-the-badge)](LICENSE)
6+
[![Documentation](https://img.shields.io/badge/docs-available-brightgreen?style=for-the-badge&logo=gitbook&logoColor=white)](https://Fluidize-Inc.github.io/fluidize-python/)
77

8-
Python package for automatic generation of scientific computing software pipelines.
8+
## About
9+
10+
**fluidize-python** is a library for building modular, reproducible scientific computing pipelines. It provides a unified interface to a wide range of physical simulation tools, eliminating the need to navigate the inconsistent, incomplete instructions that often vary from tool to tool.
11+
12+
This library marks our first step toward AI-orchestrated scientific computing. By standardizing tools and practices within our framework, AI agents can automatically build, configure, and execute computational pipelines across domains and simulation platforms.
13+
14+
Our goal is to improve today’s simulation tools so AI can assist researchers and scientists in accelerating the pace of innovation and scientific discovery.
15+
16+
## Installation
17+
18+
### Prerequesites:
19+
20+
- Python 3.9+
21+
- Docker Desktop (for local execution). Download and install Docker Desktop from https://docs.docker.com/desktop/.
22+
23+
After installation, verify with:
24+
```bash
25+
docker --version
26+
```
27+
28+
29+
30+
### From PyPI
31+
```bash
32+
pip install fluidize
33+
```
34+
35+
### From Source
36+
```bash
37+
git clone https://github.com/Fluidize-Inc/fluidize-python.git
38+
cd fluidize-python
39+
make install
40+
```
41+
42+
## Run Examples
43+
44+
Example projects are located in this folder: [examples/](https://github.com/Fluidize-Inc/fluidize-python/tree/main/examples). There you can find an [Jupyter Notebook](https://github.com/Fluidize-Inc/fluidize-python/blob/main/examples/demo.ipynb) of a simple simulation
45+
46+
## Architecture
47+
48+
At Fluidize, we believe strong organization leads to better reproducibility and scalability.
49+
50+
We treat each simulation pipeline as an individual project. Within projects, each pipeline is treated as a DAG (directed acyclic graph), where nodes represent individual pieces of scientific software (e.g. inputs, solvers, visualization tools, etc.) and edges represent data flow between nodes.
51+
52+
53+
### Nodes
54+
Nodes are the foundational building blocks of simulation pipelines. Each node represents a computational unit with:
55+
56+
| File | Purpose |
57+
|------|---------|
58+
| `properties.yaml` | Container configuration, working directory, and output paths |
59+
| `metadata.yaml` | Node description, version, authors, and repository URL |
60+
| `Dockerfile` | Environment setup and dependency installation |
61+
| `parameters.json` | Tunable parameters for experiments |
62+
| `main.sh` | Execution script for the source code |
63+
| `source/` | Original scientific computing code |
64+
65+
**Key Features:** <br>
66+
- Predictable input/output paths <br>
67+
- Modular and extensible design <br>
68+
- No source code modification required <br>
69+
- Automated node generation support (Public launch soon)
70+
71+
72+
### Projects
73+
74+
Projects store a simple data layer for managing individual modules within a pipeline.
75+
76+
| File | Purpose |
77+
|------|---------|
78+
| `graph.json` | Node (scientific software) and edge (data flow) definitions |
79+
| `metadata.yaml` | Project description and configuration |
80+
81+
82+
### Runs
83+
84+
Pipelines can be executed both locally and on the cloud. Local execution is handled by Docker engine. Cloud execution is routed through our API, and uses the Kubernetes engine with Argo Workflow Manager.
85+
86+
## Contributing
87+
88+
We would love to collaborate with you! Please see our [Contributing Guide](https://github.com/Fluidize-Inc/fluidize-python/blob/main/CONTRIBUTING.md) for details.
89+
90+
Also - we would love to help streamline your pipeline! Please reach out to us at [founders@fluidize.ai](mailto:founders@fluidize.ai).
91+
92+
## License
93+
94+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

examples/example-projects/MUJOCO/Mujoco-Simulation/parameters.json

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,6 @@
88
"name": "motor_strength",
99
"latex": null,
1010
"location": [
11-
"source/pinata_simulation.py",
12-
"source/pinata_simulation.py",
13-
"source/pinata_simulation.py",
1411
"source/pinata_simulation.py"
1512
],
1613
"options": null,

0 commit comments

Comments
 (0)