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.1.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.1-py3-none-any.whl (639.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: neuroflow_ml-0.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 87d65c7b121c4096cc8cf2bec8ac9d501e4dc5fa2c54c62c6dba0094bbcda339
MD5 e5db7178fb9eb44de06a39ed495dd927
BLAKE2b-256 96f033c90a7d558ebbd7d51247284062fe67564d8f99b1c7506cc16e317136cd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: neuroflow_ml-0.1.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b9c3eba55040aaa719002c2ba2c52ab8fa09818692c7b18b491533bb91983a1e
MD5 55be547c7f9e352581b291ab5dcfa42e
BLAKE2b-256 8c16a0299df957b35a2f72253eb60d381074fadb249acd587f73f8e0c35a6dbd

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