Python package for automatic generation of scientific computing software pipelines.
Project description
Fluidize
An Open Framework for AI-Driven Scientific Computing
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.
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. 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.
Quick Start
Installation
Prerequesites:
-
Python 3.9+
-
Docker Desktop (for local execution). Download and install Docker Desktop from https://docs.docker.com/desktop/.
After installation, verify with:
docker --version
From PyPI
pip install fluidize
From Source
git clone https://github.com/Fluidize-Inc/fluidize-python.git
cd fluidize-python
make install
Run Examples
Example projects are located in this folder: examples/. There you can find an Jupyter Notebook of a simple simulation
The Problem
Students and researchers face significant barriers when working with different simulation tools:
- Setup overhead – Installing and configuring someone else’s research code can take an enormous amount of time.
- Diverse architectures – Scientific software is built using a wide range of tools and architectures, each with its own complexities and quirks.
- Time drain – Good software engineering practices are important, but in practice they often slow down the process of getting immediate results.
- Reproducibility issues – Sharing and reproducing experiments is frequently cumbersome and error-prone.
- Scaling friction – Moving from a local prototype to a cloud environment or dedicated compute cluster can be slow and difficult.
The Solution
Fluidize provides a standardized wrapper that turns complex scientific software into modular components. This makes it possible to:
- Expose a single API endpoint for any scientific computing software—any language, any tool, any complexity.
- Easily connect tools that were never designed to work together.
- Adopt consistent I/O patterns across all simulations.
All of this works with minimal or no changes to the existing codebase, allowing our framework to scale effortlessly to any repository.
Architecture
Nodes
The foundational building blocks of Fluidize. Each node encapsulates a computational unit with:
| File | Purpose |
|---|---|
properties.yaml |
Container configuration, working directory, and output paths |
metadata.yaml |
Node description, version, authors, and repository URL |
Dockerfile |
Environment setup and dependency installation |
parameters.json |
Tunable parameters for experiments |
main.sh |
Execution script for the source code |
source/ |
Original scientific computing code |
Key Features:
- Predictable input/output paths
- Modular and extensible design
- No source code modification required
- Automated node generation support (Public launch soon)
Projects
The project currently hosts a simple layer for composing and managing multiple nodes:
| File | Purpose |
|---|---|
graph.json |
Node connectivity and data flow definition |
metadata.yaml |
Project description and configuration |
Docker engine is used for local execution. With API calls, we use the Kubernetes engine with Argo Workflow Manager.
Documentation
Comprehensive documentation is available at https://Fluidize-Inc.github.io/fluidize-python/
Contributing
We would love contributions and collaborations! Please see our Contributing Guide for details.
Also - we would love to help streamline your research pipeline! Please reach out at henry@fluidize.ai or henrybae@g.harvard.edu.
Roadmap
This is just the beginning of what we think is a really exciting new era for how we learn science and do research. We will be releasing the following tools built from this framework:
- Fluidize Playground: Automatically explore and build simulation pipelines with natural language.
- Auto-Fluidize: Automatically convert obscure scientific software to run anywhere
License
This project is licensed under the MIT License - see the LICENSE file for details.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fluidize-0.0.2.tar.gz.
File metadata
- Download URL: fluidize-0.0.2.tar.gz
- Upload date:
- Size: 2.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
66fcaed7649cbc7df80e6734c43cc1e80961eba3934de7e81c35c5594899017b
|
|
| MD5 |
7b7733b13b25348413dfcc01355dc3b3
|
|
| BLAKE2b-256 |
88eedf929f328953c26460a3d3113b8c52d227e7e5e26012211195a8013d8874
|
File details
Details for the file fluidize-0.0.2-py3-none-any.whl.
File metadata
- Download URL: fluidize-0.0.2-py3-none-any.whl
- Upload date:
- Size: 100.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7bd46a04ecb66681cea132c094c4a39aff7d8cc49d71241a8c7e38970c95fb47
|
|
| MD5 |
6eda06151d98e15a6a87dfa531427e4a
|
|
| BLAKE2b-256 |
8014ba87a0d02e961e8ab4b0c647588d78896d76e169dfc3e6edb93c7ef88358
|