Skip to main content

A local-first, node-based ML orchestrator with a visual pipeline builder

Project description

๐Ÿง  NeuroFlow

A local-first, node-based ML orchestrator with a visual pipeline builder.

NeuroFlow Python License

โœจ Features

  • ๐ŸŽจ Visual Pipeline Builder - Drag-and-drop nodes to create ML workflows
  • ๐Ÿ”Œ Node-Based Architecture - Connect data loaders, preprocessors, models, and evaluators
  • ๐Ÿ“Š Built-in Visualizations - View metrics, charts, and model performance
  • ๐Ÿ’พ Local-First - All data stays on your machine
  • ๐Ÿ“ฆ Export/Import - Save and share workflows as JSON
  • ๐Ÿš€ One Command - Install and run with a single command

๐Ÿš€ Quick Start

Installation

# Install from PyPI (coming soon)
pip install neuroflow

# Or install from source
git clone https://github.com/aayushgokhale/neuroflow.git
cd neuroflow/NeuroFlow
pip install -e .

Running NeuroFlow

# Start NeuroFlow (opens browser automatically)
neuroflow

# Or specify a custom port
neuroflow --port 3000

# Don't open browser automatically
neuroflow --no-browser

Visit http://localhost:8000 to access the visual pipeline builder.

๐Ÿ“– Usage

Building a Pipeline

  1. Drag nodes from the left sidebar onto the canvas
  2. Connect nodes by dragging from output ports to input ports
  3. Configure nodes by clicking on them and editing parameters
  4. Run the workflow by clicking the "Run Workflow" button
  5. View results in the Results Panel with metrics and charts

Node Types

Category Nodes
Data CSV Loader, SQL Query, API Fetch
Preprocessing Normalize, Encode, Split Data
Models Random Forest, Neural Net, XGBoost
Evaluate Accuracy Chart, Loss Curve, Confusion Matrix

Example Workflow

CSV Loader โ†’ Split Data โ†’ Random Forest โ†’ Evaluator

๐Ÿ› ๏ธ Development

Prerequisites

  • Python 3.9+
  • Node.js 18+
  • pnpm (recommended)

Setup

# Clone the repository
git clone https://github.com/aayushgokhale/neuroflow.git
cd neuroflow

# Install backend dependencies
cd NeuroFlow
pip install -e ".[dev]"

# Install frontend dependencies
cd ../Frontend
pnpm install

# Run development servers
# Terminal 1: Backend
cd NeuroFlow && uvicorn app.main:app --reload

# Terminal 2: Frontend
cd Frontend && pnpm dev

Building for Distribution

cd NeuroFlow
./build.sh
pip install -e .

๐Ÿ“ Project Structure

neuroflow/
โ”œโ”€โ”€ Frontend/                 # Next.js frontend
โ”‚   โ”œโ”€โ”€ app/                  # App router pages
โ”‚   โ”œโ”€โ”€ components/           # React components
โ”‚   โ”‚   โ””โ”€โ”€ neuroflow/        # NeuroFlow-specific components
โ”‚   โ””โ”€โ”€ public/               # Static assets
โ”œโ”€โ”€ NeuroFlow/                # Python backend package
โ”‚   โ”œโ”€โ”€ app/                  # FastAPI application
โ”‚   โ”‚   โ”œโ”€โ”€ cli.py            # CLI entry point
โ”‚   โ”‚   โ”œโ”€โ”€ main.py           # FastAPI app
โ”‚   โ”‚   โ”œโ”€โ”€ engine.py         # Workflow execution engine
โ”‚   โ”‚   โ”œโ”€โ”€ schemas.py        # Pydantic models
โ”‚   โ”‚   โ””โ”€โ”€ executors/        # Node executors
โ”‚   โ”œโ”€โ”€ data/                 # Demo datasets
โ”‚   โ”œโ”€โ”€ static/               # Built frontend (after build)
โ”‚   โ””โ”€โ”€ pyproject.toml        # Package configuration

๐Ÿ”ง API Reference

REST Endpoints

Method Endpoint Description
GET /health Health check
POST /workflows/execute Execute a workflow
GET /workflows/{id}/status Get execution status
POST /data/upload Upload data files
GET /models/{id}/download Download trained model

WebSocket

Connect to /ws/workflow/{run_id} for real-time execution progress updates.

๐Ÿ“ License

MIT License - see LICENSE for details.

๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

๐Ÿ“ง Contact

Created by Aayush Gokhale

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

neuroflow_ml-0.1.2.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

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

neuroflow_ml-0.1.2-py3-none-any.whl (1.2 MB view details)

Uploaded Python 3

File details

Details for the file neuroflow_ml-0.1.2.tar.gz.

File metadata

  • Download URL: neuroflow_ml-0.1.2.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for neuroflow_ml-0.1.2.tar.gz
Algorithm Hash digest
SHA256 e6a60939aa5b86550add862216c598dccbf8d6b5548d705d3e48096edb2b3e90
MD5 854aeeeecd0da48c6073c2eafb02abfa
BLAKE2b-256 368129d87a591a6aaf27c1cdaed82def2671f79cc4258f913396f07719e2f107

See more details on using hashes here.

File details

Details for the file neuroflow_ml-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: neuroflow_ml-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for neuroflow_ml-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4ead06e0c0b7a6b4ca1ec2b5fbde914b4a451cdebfb9d323773834d6397d59c0
MD5 f270615359cbf17646803572d514be17
BLAKE2b-256 0dfdc92e50b25ef4d239304c0a3a19b00b1a07efb712cb5e2e2113cc3950dc28

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