Skip to main content

FlowML: A High-performance data pipeline framework combining FastAPI, Rust (Rayon), 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flowml_core-0.1.1.tar.gz (17.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flowml_core-0.1.1-py3-none-any.whl (22.8 kB view details)

Uploaded Python 3

File details

Details for the file flowml_core-0.1.1.tar.gz.

File metadata

  • Download URL: flowml_core-0.1.1.tar.gz
  • Upload date:
  • Size: 17.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for flowml_core-0.1.1.tar.gz
Algorithm Hash digest
SHA256 a8ce671703561ca5704db5663aab33f55cc98e05f40f871f0e204aa5894ad938
MD5 87e779fc76ec3eae19f1058e790c3334
BLAKE2b-256 93472c4a6f8b45f91541f01e430ca0c165eb89386d86ae494308b622dd41d85b

See more details on using hashes here.

File details

Details for the file flowml_core-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: flowml_core-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 22.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for flowml_core-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1a70799859012046b0e17ade82ed44f7510c4f3bf6c33a41a292fd931e89a1b4
MD5 01eddb42f531d8ac5b0cc74214ef528d
BLAKE2b-256 cad7a5a06b0afde733378c2fbc34a1973dc52c2968939f2f74ee28f7c6f999e5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page