FlowML: High-performance data pipeline framework with FastAPI, Rust, and real-time WebSocket execution
Project description
🚀 FlowML
FlowML is a high-performance, real-time data pipeline framework designed to simplify how developers and data practitioners process, transform, and monitor datasets at scale.
In modern data workflows, developers often struggle with fragmented tooling: scripts for preprocessing, separate systems for monitoring, and limited visibility into execution. Traditional pipelines are either slow, difficult to debug, or lack real-time feedback. FlowML addresses these gaps by providing a unified system that combines fast computation, structured pipelines, and live observability.
At its core, FlowML brings together a FastAPI-based backend, a Rust-powered execution layer, and WebSocket-driven real-time updates to create a seamless pipeline experience. Instead of writing isolated scripts or waiting for batch jobs to complete, users can define structured workflows, execute them asynchronously, and observe progress instantly.
🎯 Problem It Solves
Working with data pipelines often involves:
- Writing repetitive preprocessing scripts
- Handling large datasets with slow performance (pandas bottlenecks)
- Lack of real-time visibility into execution
- Poor orchestration of multiple steps
- Difficulty tracking job status and debugging failures
These challenges lead to inefficient workflows, delayed feedback, and increased development overhead.
💡 Solution
FlowML introduces a structured and scalable approach to data processing:
- A pipeline engine that allows step-by-step transformations
- A background job system for asynchronous execution
- A real-time monitoring layer using WebSockets
- A Rust-powered processing core for high-performance operations
- A CLI + API interface for flexible usage
This enables users to move from manual scripting to a reusable, observable, and high-performance pipeline system.
✨ Key Features
- ⚡ FastAPI backend for scalable API-driven workflows
- 🦀 Rust acceleration using Rayon for parallel data processing
- 🔄 Real-time updates via WebSockets (live job tracking)
- 🧠 Modular pipeline execution engine
- 🛠 CLI interface for automation and scripting
- 📂 Support for CSV, Excel, and database sources
- 🧹 Built-in data cleaning operations
- 📊 Data preview and summary statistics
- 🔄 Background job execution with progress tracking
🏗 System Architecture
FlowML is designed with a clear separation of concerns:
CLI / Frontend
↓
FastAPI Backend (API + WebSockets)
↓
Pipeline Engine (orchestration)
↓
Rust Core (parallel computation via Rayon)
This architecture ensures:
- Clean orchestration in Python
- High-performance execution in Rust
- Real-time communication via WebSockets
⚡ Performance Advantage
Unlike traditional pipelines that rely entirely on Python:
- FlowML delegates heavy computation to Rust
- Uses Rayon for parallel execution
- Avoids Python’s GIL limitations
- Handles large datasets efficiently
This results in significantly faster processing compared to pandas-only workflows.
🚀 Installation
pip install flowml-core
🧪 Local Development Setup
git clone https://github.com/Frosty-8/flowml
cd flowml
pip install -e .
▶️ Run Server
uvicorn flowml.api.server:create_app --factory --reload
🛠 CLI Usage
flowml run pipeline.json
flowml jobs
flowml status <job_id>
flowml preview <dataset_id>
📄 Example Pipeline
{
"dataset_id": "your-dataset-id",
"steps": [
{ "step": "fill_nulls" },
{ "step": "drop_nulls" },
{ "step": "summary" }
]
}
🔄 CI/CD
FlowML includes automated workflows using GitHub Actions:
- ✅ Code linting and testing
- 🦀 Rust build integration
- 📦 Package build and PyPI deployment
📌 Roadmap
- ⚛️ Full React dashboard integration
- 🧩 Drag-and-drop pipeline builder
- ☁️ Cloud deployment support
- 🔐 Authentication and multi-user support
- 📊 Advanced visualization and analytics
👨💻 Author
Sarthak Dongare
⭐ Why FlowML Stands Out
FlowML is not just a script or utility—it is a framework that bridges the gap between data engineering and real-time systems, combining:
- Backend engineering
- Systems design
- Performance optimization
- Developer experience
It reflects a shift from simple data processing toward scalable, observable, and high-performance data workflows.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
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 flowml_core-0.1.2-cp311-cp311-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: flowml_core-0.1.2-cp311-cp311-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 312.6 kB
- Tags: CPython 3.11, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
64236eb62c76b68ef782a68c03bac34c9c926fc38fc81319b0e30718d9a7d398
|
|
| MD5 |
d53d3a86b6b4442e536637dcac6bda31
|
|
| BLAKE2b-256 |
75d452d2195c4d2ac6bb05ccc4ad7f2894ac38b112c84142db915a7cba420ace
|