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.0.tar.gz (615.7 kB 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.0-py3-none-any.whl (639.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: neuroflow_ml-0.1.0.tar.gz
  • Upload date:
  • Size: 615.7 kB
  • 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.0.tar.gz
Algorithm Hash digest
SHA256 207faf6a66d7fa47f72df1f8208342afdf8b7a3d3c68338291fffc174230a9bb
MD5 99da479073f984b7d82fdc3687c3f297
BLAKE2b-256 cb09175600fcab480baf729c3f73a6758bcf27352b8d1768b0c7beeea537e8c2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: neuroflow_ml-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 639.8 kB
  • 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 57a1921331bbee895a1366ea04972932c1fba3fa07d4e8e56fe653c991ba1a4f
MD5 812ad1dc2d58de6ee7a52e5364a25082
BLAKE2b-256 2aacb36fa8165cd203ae408467a0b8c52557e5e5108ebca51de04783d9f054ab

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