Skip to content

πŸ““ FlowyML Notebook

πŸ““ FlowyML Notebook

The Reactive Notebook That Ships to Production β€” Design, experiment, and deploy FlowyML pipelines in an interactive visual environment.

πŸ”„ Reactive DAG πŸ“ Pure Python πŸš€ One-Click Deploy πŸ€– AI Assistant


πŸ§ͺ What is FlowyML Notebook?

FlowyML Notebook is a reactive, DAG-powered notebook environment designed to replace Jupyter for production ML workflows. Every cell is a node in a live dependency graph β€” change a variable, and only the cells that depend on it re-execute automatically. No stale state. No hidden bugs. No "restart and run all."

πŸ“ Pure Python Cells

Write standard Python in .py files β€” no JSON blobs, no .ipynb lock-in. Every notebook is a clean, diffable, version-controllable script with automatic dependency tracking between cells.

πŸš€ Ship to Production

Promote any notebook directly to a FlowyML pipeline with one click. Cells are extracted in topological order, wrapped with @step decorators, and ready for production β€” zero code changes required.

🀝 GitHub-Native Collaboration

Full GitHub integration as the collaboration backend. Branch, commit, push, snapshot diffs β€” all from the notebook sidebar. No proprietary cloud platform needed.

πŸ”— Part of the FlowyML Ecosystem

FlowyML Notebook is the interactive companion to the FlowyML pipeline framework. Use the notebook for exploration and prototyping, then promote to FlowyML pipelines for production orchestration β€” same code, same artifacts, seamless transition.


🌟 Key Features

πŸ”„ Reactive DAG Engine CORE

Cells form a live dependency graph. Change a variable and only dependent cells re-execute β€” automatically. Visualize the full pipeline topology with the built-in DAG viewer. No manual re-runs, no stale state.

🏭 Pipeline Promotion PRO

Promote notebooks directly to production FlowyML pipelines with one click. Cells are extracted in topological order, decorated with @step, and wired into a full pipeline. Your experiment becomes your deployment.

πŸ“Š Rich Data Exploration CORE

Every DataFrame gets automatic 10-tab profiling: statistics, distributions, correlations, quality checks, memory analysis, type detection, outlier flags, and ML-ready insights. Zero extra code needed.

🧠 SmartPrep Advisor PRO

Auto-detects missing values, skew, outliers, and high cardinality in your data. Generates ready-to-run fix code β€” one click to insert scaling, encoding, imputation, and transformation cells.

🎯 Algorithm Matchmaker PRO

Auto-detects task type (classification, regression, clustering), ranks ML algorithms 0–100 based on your data profile, and generates complete sklearn pipelines. Supports KDP + KerasFactory + MLPotion ecosystem.

πŸ“¦ 43 Built-in Recipes CORE

Reusable code templates across 9 categories: Core, Assets, Parallel, Observability, Evals, Data, ML, Visualization, and Ecosystem. Stop rewriting boilerplate β€” drag, click, and insert.

🌐 Publish as App BETA

Turn any notebook into an interactive web application with one click. Choose from 5 layouts: Linear, Grid, Tabs, Sidebar, or Dashboard. Configure theme, cell visibility, and source code display.

πŸ€– AI Assistant CORE

Context-aware code generation that understands your notebook's variables, imports, and data shapes. Supports OpenAI, Google AI, Ollama, and Anthropic backends. Ask in natural language, get production-ready cells.

πŸ—„οΈ SQL First-Class CORE

Mixed Python + SQL cells in the same notebook. Use DuckDB for in-process analytics or SQLAlchemy for external databases. Query results flow into the reactive DAG as DataFrames.

πŸ™ GitHub Native CORE

Branch, commit, push, and browse snapshot diffs β€” all from the notebook sidebar. Link a repository, review cell-level changes, and collaborate with your team using standard Git workflows.


⚑ Quick Start

Installation

# Install the core package
pip install flowyml-notebook

# Or install with all ML & AI extensions
pip install "flowyml-notebook[all]"

# Or install with the UnicoLab Keras ecosystem (KDP + KerasFactory + MLPotion)
pip install "flowyml-notebook[keras]"

Launch

# πŸ”₯ Hot-reload development mode β€” auto-refreshes on code changes
fml-notebook dev

# πŸš€ Production build β€” optimized for performance
fml-notebook start

The browser opens automatically. You're ready to build.

πŸ’‘ Choose Your Install

Extra What You Get
flowyml-notebook Core notebook with reactive DAG, recipes, SQL, Git
flowyml-notebook[all] Everything above + AI assistant, SmartPrep, Algorithm Matchmaker
flowyml-notebook[keras] Everything above + KDP, KerasFactory, MLPotion integrations

πŸ”„ From Notebook to Pipeline

The killer feature of FlowyML Notebook: your experiments become your production pipelines β€” with zero code changes.

Step 1 β€” Experiment in the Notebook

Write cells as you normally would. The reactive DAG tracks dependencies automatically:

# Cell 1: Load data
import pandas as pd
dataset = pd.read_csv("data.csv")

# Cell 2: Train model (depends on Cell 1 via 'dataset')
from sklearn.ensemble import RandomForestClassifier
clf = RandomForestClassifier(n_estimators=100, random_state=42)
clf.fit(dataset.drop('target', axis=1), dataset['target'])

Step 2 β€” Promote to Pipeline

Click Promote to Pipeline in the sidebar. FlowyML Notebook automatically:

  1. Analyzes cell dependencies via the reactive DAG
  2. Wraps each cell in a @step decorator
  3. Maps variables to inputs and outputs
  4. Extracts cells in topological order

The result is a production FlowyML pipeline:

from flowyml import Pipeline, step, context

@step(outputs=["dataset"])
def load_data():
    """Produces the dataset artifact."""
    import pandas as pd
    return pd.read_csv("data.csv")

@step(inputs=["dataset"], outputs=["model"], cache=True)
def train_model(dataset):
    """Consumes 'dataset', produces 'model'. Cached for reproducibility."""
    from sklearn.ensemble import RandomForestClassifier
    clf = RandomForestClassifier(n_estimators=100, random_state=42)
    clf.fit(dataset.drop('target', axis=1), dataset['target'])
    return clf

# Auto-generated pipeline
pipeline = Pipeline("my_notebook")
pipeline.add_step(load_data).add_step(train_model)
pipeline.run()

The Flow

graph LR
    A["πŸ““ Notebook Cells"] -->|"Reactive DAG"| B["πŸ” Dependency Analysis"]
    B -->|"Topological Sort"| C["βš™οΈ @step Wrapping"]
    C -->|"One Click"| D["πŸš€ FlowyML Pipeline"]
    D -->|"Deploy"| E["☁️ Production"]

    style A fill:#e1f5fe,stroke:#01579b
    style D fill:#e8f5e9,stroke:#2e7d32
    style E fill:#f3e5f5,stroke:#6a1b9a

πŸŽ‰ Same Code, Two Worlds

Your notebook cells are your pipeline steps. No rewriting, no copy-paste, no "translation layer." The reactive DAG in the notebook maps directly to the artifact DAG in FlowyML.


πŸ“Š Data Exploration β€” Zero Config

Every time you display a DataFrame, FlowyML Notebook generates automatic multi-tab profiling:

πŸ“ˆ Statistics

Column-level stats: mean, median, std, min/max, unique counts, null percentages, memory footprint, and dtype detection.

πŸ“Š Distributions

Auto-generated histograms, bar charts, and density plots for every column. Numeric and categorical columns handled automatically.

πŸ”— Correlations

Pearson correlation matrix with color-coded heatmap. Instantly spot multicollinearity and feature relationships.

🧹 Quality Checks

Missing value analysis, duplicate detection, constant columns, high-cardinality flags, and data type consistency checks.

🧠 ML Insights

Outlier detection, scaling recommendations, encoding suggestions, target variable identification, and feature importance hints.

πŸ’Ύ Memory Profile

Per-column memory usage, dtype optimization suggestions, and total DataFrame footprint β€” know your data cost.

πŸ” Just Display It

No imports, no function calls, no configuration. Simply evaluate a DataFrame in a cell β€” the profiling appears automatically in the output panel.


🧾 43 Built-in Recipes

Stop rewriting boilerplate. Recipes are searchable, categorized code templates that insert production-ready cells:

Category Count Examples
Core 8 FlowyML Step, Pipeline, Context, Conditional Branching
Assets 5 Model Registration, Dataset Versioning, Artifact Catalog
Parallel 4 Map Tasks, Thread Pool, Async Steps, Distributed Execution
Observability 5 LLM Tracing, Experiment Tracking, Drift Detection, Alerts
Evals 4 Eval Suite, LLM-as-Judge, Quality Gates, Regression Detection
Data 5 DataFrame Profiling, SQL Queries, Data Validation, Sampling
ML 5 Sklearn Pipeline, Keras Training, Hyperparameter Search, Cross-Validation
Visualization 3 Plotly Dashboard, Matplotlib Grid, Correlation Heatmap
Ecosystem 4 KDP Smart Preprocessing, KerasFactory Quick Model, MLPotion Training, UnicoLab E2E

πŸ¦„ Keras Ecosystem Recipes

Install flowyml-notebook[keras] to unlock 4 additional recipes for the UnicoLab ecosystem: KDP preprocessing layers, KerasFactory model architectures, MLPotion training pipelines, and the full end-to-end pipeline.


πŸ€– AI Assistant

The built-in AI assistant understands your notebook's full context β€” variables, imports, data shapes, and cell history β€” to generate production-ready code:

# Ask in natural language:
# "Create a Random Forest pipeline with cross-validation for the 'dataset' DataFrame"

# The AI generates:
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_selection import cross_val_score
import numpy as np

X = dataset.drop('target', axis=1)
y = dataset['target']

clf = RandomForestClassifier(n_estimators=100, random_state=42)
scores = cross_val_score(clf, X, y, cv=5, scoring='accuracy')

print(f"Accuracy: {np.mean(scores):.4f} Β± {np.std(scores):.4f}")

πŸ”Œ Multi-Provider Support

OpenAI, Google AI, Anthropic, and Ollama (local). Bring your own API key or run fully offline with local models.

🧠 Context-Aware Generation

The assistant sees your variables, DataFrames, imports, and execution history. Generated code uses your actual data β€” not generic placeholders.

⚑ One-Click Insert

Generated cells are inserted directly into the notebook as reactive DAG nodes. Dependencies are tracked automatically β€” no manual wiring.


πŸ—„οΈ SQL First-Class

Write SQL alongside Python in the same notebook. Results flow into the reactive DAG as DataFrames:

-- SQL cell: query local files or DataFrames directly
SELECT
    category,
    COUNT(*) as total,
    AVG(price) as avg_price
FROM dataset
WHERE price > 10
GROUP BY category
ORDER BY total DESC
# Connect to PostgreSQL, MySQL, SQLite, etc.
from sqlalchemy import create_engine
engine = create_engine("postgresql://user:pass@localhost/mydb")

# SQL cell with external connection
results = engine.execute("""
    SELECT * FROM orders
    WHERE created_at > '2024-01-01'
    LIMIT 1000
""")

πŸ¦† DuckDB β€” Zero Setup Analytics

DuckDB runs in-process with zero configuration. Query CSV files, Parquet files, and in-memory DataFrames directly with SQL β€” no database server needed.


πŸ› οΈ CLI Reference

Command Description
fml-notebook dev πŸ”₯ Launch with Vite hot reload for development
fml-notebook start πŸš€ Launch with optimized production build
fml-notebook run <file> ▢️ Execute a notebook headlessly (CI/CD, scripting)
fml-notebook export <file> πŸ“¦ Export as FlowyML pipeline, HTML, PDF, or Docker
fml-notebook app <file> 🌐 Deploy as interactive web application
fml-notebook list --server <URL> πŸ“š List notebooks on a remote FlowyML server

🐳 Export to Docker

Use fml-notebook export my_notebook.py --format docker to generate a self-contained Docker image with your notebook, dependencies, and data β€” ready for deployment to any container runtime.


🌐 Publish as App

Turn any notebook into a production web application with a single click:

1. Choose Layout

Select from 5 layouts: Linear (scrolling page), Grid (responsive cards), Tabs (section navigation), Sidebar (documentation-style), or Dashboard (data viz panels).

2. Configure Visibility

Toggle which cells are visible to end users. Hide data loading and preprocessing β€” show only results, visualizations, and interactive widgets.

3. Set Theme & Branding

Choose Light, Dark, or Auto theme. Add custom titles, descriptions, and branding for a polished user experience.

4. Deploy

One click to publish. Your notebook becomes a live web app with reactive updates β€” users interact with widgets and see results in real time.


πŸ”— How Notebook Connects to FlowyML

graph TB
    subgraph "FlowyML Notebook"
        N1["πŸ““ Interactive Cells"] --> N2["πŸ”„ Reactive DAG"]
        N2 --> N3["πŸ“Š Data Explorer"]
        N2 --> N4["🧠 SmartPrep Advisor"]
        N2 --> N5["🎯 Algorithm Matchmaker"]
    end

    subgraph "Promotion"
        N2 -->|"One Click"| P1["βš™οΈ Pipeline Export"]
        P1 --> P2["@step Decorators"]
        P2 --> P3["Artifact Mapping"]
    end

    subgraph "FlowyML Production"
        P3 --> F1["🏭 Pipeline Orchestrator"]
        F1 --> F2["☁️ Multi-Cloud Deploy"]
        F1 --> F3["πŸ“ˆ Experiment Tracker"]
        F1 --> F4["πŸ”¬ Eval Framework"]
    end

    style N1 fill:#e1f5fe,stroke:#01579b
    style P1 fill:#fff3e0,stroke:#e65100
    style F1 fill:#e8f5e9,stroke:#2e7d32

πŸ“š Learn More

πŸ™ GitHub Repository

Source code, issues, and discussions.

UnicoLab/flowyml-notebook

πŸ“– Full Documentation

Complete guides, API reference, and tutorials.

Notebook Docs

πŸ“¦ PyPI Package

Install, version history, and changelog.

flowyml-notebook


Stop restarting kernels. Start shipping pipelines.
FlowyML Notebook β€” from experiment to production in one click.