Problem
Today the only way to take work out of Scikit-Learner is a .joblib dump of one trained model. To keep iterating (preprocessing, hyperparameter search, ensembling, custom features) users have to rewrite the training code from scratch in their own notebook.
Proposal
Add an Export Notebook action that generates a .ipynb file mirroring exactly what the user did in the UI:
- Cell: load the dataset (built-in via
sklearn.datasets.* or pd.read_csv from a placeholder path for uploads).
- Cell: select target and features.
- Cell: instantiate each selected model with the same hyperparameters.
- Cell: run cross-validation with the same folds and metrics.
- Cell: render the same Plotly charts (scatter / residuals / ROC / confusion matrix / comparison).
- Final cell: a
model.predict(...) example.
Implementation notes
nbformat has a Pyodide wheel — use it in frontend/py/learner.py to build the notebook in-Pyodide.
- Add a top-level
export_notebook() function that returns notebook JSON as bytes.
- Hook the JS side via
pyCallBinary → downloadBytes(..., '.ipynb', 'application/x-ipynb+json').
Acceptance criteria
Strategic rationale
This is the bridge that turns Scikit-Learner from a nice demo into a real prototyping tool — users spin up an experiment in the browser and continue in a real notebook in under 2 minutes.
Problem
Today the only way to take work out of Scikit-Learner is a
.joblibdump of one trained model. To keep iterating (preprocessing, hyperparameter search, ensembling, custom features) users have to rewrite the training code from scratch in their own notebook.Proposal
Add an Export Notebook action that generates a
.ipynbfile mirroring exactly what the user did in the UI:sklearn.datasets.*orpd.read_csvfrom a placeholder path for uploads).model.predict(...)example.Implementation notes
nbformathas a Pyodide wheel — use it infrontend/py/learner.pyto build the notebook in-Pyodide.export_notebook()function that returns notebook JSON asbytes.pyCallBinary→downloadBytes(..., '.ipynb', 'application/x-ipynb+json').Acceptance criteria
Strategic rationale
This is the bridge that turns Scikit-Learner from a nice demo into a real prototyping tool — users spin up an experiment in the browser and continue in a real notebook in under 2 minutes.