Skip to main content

Scikit-Learner ๐Ÿ“ˆ

A web-based machine learning application for training and comparing regression and classification models. This runs scikit-learn directly in the user's browser via Pyodide, so the whole app deploys as a static website.

learner app

Features

  • 27 Regression Models across 6 categories
  • 22 Classification Models across 6 categories
  • Interactive Plotly visualizations โ€” scatter, residuals, predicted vs actual, ROC, confusion matrix, comparison bar chart
  • Cross-Validation (3 / 5 / 10 folds)
  • Sample Datasets โ€” Iris, Wine, Breast Cancer, Digits (classification); Diabetes, Boston-synthetic, Airfoil, Synthetic (regression)
  • Model Export โ€” joblib bytes, single-file or zipped bundle

How it works

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚  Browser                                                  โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚  index.html + Bootstrap + Plotly                    โ”‚  โ”‚
โ”‚  โ”‚  โ†“ pyCall('train', [...])                           โ”‚  โ”‚
โ”‚  โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚  โ”‚
โ”‚  โ”‚  โ”‚  pyodide-bridge.js                             โ”‚ โ”‚  โ”‚
โ”‚  โ”‚  โ”‚  โ€ข loads Pyodide from JSDelivr CDN             โ”‚ โ”‚  โ”‚
โ”‚  โ”‚  โ”‚  โ€ข installs scikit-learn / pandas / numpy /    โ”‚ โ”‚  โ”‚
โ”‚  โ”‚  โ”‚    scipy / joblib                              โ”‚ โ”‚  โ”‚
โ”‚  โ”‚  โ”‚  โ€ข runs frontend/py/learner.py inside Pyodide  โ”‚ โ”‚  โ”‚
โ”‚  โ”‚  โ”‚  โ€ข thin pyCall / pyCallBinary wrappers         โ”‚ โ”‚  โ”‚
โ”‚  โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                  (no network calls after first load)

First load: ~10 s (downloads Pyodide runtime + sklearn wheel, ~15 MB total). Subsequent loads: ~1 s thanks to browser cache.

Running locally

This is a 100% static site โ€” no Python virtualenv, no Node toolchain, no backend to start. Any static file server will do; the snippet below uses Python's stdlib server only because it's universally available.

python3 -m http.server -d frontend 8080
open http://localhost:8080/

Edit any file under frontend/ and reload the browser.

If you change frontend/py/learner.py, the browser fetches it fresh on reload โ€” but Pyodide doesn't pick up the change until the module is re-imported. Hard-reload (Cmd-Shift-R / Ctrl-F5) or open a new tab.

Deploy

Upload frontend/ to any static host (Netlify, GitHub Pages, S3, โ€ฆ).

Testing

A Playwright end-to-end spec covers Pyodide bootstrap, sample loading, training, predictions, export, and the UI scatter-plot render โ€” 8 assertions, runs against either a local python -m http.server -d frontend or the public URL.

Caveats (WASM)

  • Pyodide initial load adds ~10 s and ~15 MB of one-time download. Loading overlay covers it.
  • CSV upload capped at 20 MB (Pyodide's WASM heap).
  • The airfoil dataset is bundled as frontend/data/airfoil.csv because Pyodide can't reach fetch_openml from inside the browser.
  • Boston-housing uses the synthetic generator (real Boston was removed from sklearn โ‰ฅ1.2).

License

BSD

Metadata

Release files for scikit-learner 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for scikit-learner 0.1.1
File Size Uploaded
scikit_learner-0.1.1.tar.gz 42.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for scikit-learner 0.1.1
File Interpreter ABI Platform
scikit_learner-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 87.0 kB

Release files / scikit_learner-0.1.1.tar.gz

Download URL scikit_learner-0.1.1.tar.gz
Size 42.0 kB
Tags Source
SHA-256 checksum
How to use checksums
38fa9b43e97917340c5b11730fdc6eaeb067b22eb8765bdd884b5f32f8188088
BLAKE2b-256 checksum
How to use checksums
e5d16023b221479d2ba7611bb5d3f932ac76f9c25209e024edbd63b342b808b4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / scikit_learner-0.1.1-py3-none-any.whl

Download URL scikit_learner-0.1.1-py3-none-any.whl
Size 44.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
af510022f074d2344716280368a17f1e7f17ac1d691b2779ab9c267b55aceecd
BLAKE2b-256 checksum
How to use checksums
bb1c34067e3e7c5a1cf2f29c7044ba0c6d1a7872159e02cc4049d94566e28105
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page