π 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:
- Analyzes cell dependencies via the reactive DAG
- Wraps each cell in a
@stepdecorator - Maps variables to
inputsandoutputs - 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:
π¦ 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
Stop restarting kernels. Start shipping pipelines.
FlowyML Notebook β from experiment to production in one click.