Skip to main content

ScorePilot

CI License: MIT Python 3.12+

Build, compare, and interrogate PCA and PLS models in your browser. ScorePilot is a point-and-click workbench for multivariate data analysis and chemometrics: load a table, clean it up, fit a model, and explore the scores, loadings, and diagnostics that explain your process - no code required.

It runs as a single, self-contained app you launch with one command. Standard chemometrics terms keep their established names throughout: scores (T), loadings (P), Hotelling's T², SPE/DModX, contributions, VIP, R²X / R²Y, Q².


See it in action

Explore your data - a fast spreadsheet-style grid with a live inspector for every column (distribution, sequence, summary, transform preview), data-quality flags, and one-click roles and exclusions:

The data explorer: grid, column inspector, and data-quality panel

Fit a model and read it - scores with the Hotelling's T² confidence ellipse, loadings, T² and SPE with control limits, and VIP, all interactive:

Model diagnostics: scores, loadings, T-squared, SPE, and VIP


What you can do

  • Bring in data your way - upload a CSV or Excel file, paste a public URL, or start from one of the bundled example datasets (LDPE, food consumption, solvents, NIR tablet spectra, and more).
  • Understand each variable - click any column to see its histogram, run-order sequence, and summary statistics, and preview a transform (log, logit, ...) before you commit to it. Toggle the whole grid between raw and autoscaled values.
  • Clean and shape the workset - set the primary identifier (auto-detected, with a synthetic row id when needed), mark X / Y variables, and exclude outlying samples or unwanted variables - all without altering your original data.
  • Catch problems early - duplicate identifiers, non-numeric values in numeric columns, and missing data are flagged as you go.
  • Fit PCA and PLS - choose the number of components and fit. For one-component models the plots collapse to a single, readable axis automatically.
  • Interrogate the model - plot any pair of components (or sequence order), hover a score to read its SPE and T², and double-click or long-press any point to open its contribution plot and see which variables drive it. Long-press a loadings point to jump straight to that variable's raw data.
  • Select and link across every plot - switch a plot into arrow or lasso mode and pick out points; the selection lights up the same rows (or variables) in every other plot - scores, loadings, T², SPE, VIP, and contributions - so a cluster you spot in one view is instantly visible everywhere. The lasso is forgiving on touch: a partial ring closes itself.
  • Colour and size by what matters - shade or scale the score points by SPE or Hotelling's T² to make outliers jump out.
  • Act on a selection - fork a new model variant straight from a brushed set: exclude the selected samples (or keep only them) and refit in one click, with the lineage recorded automatically.
  • Keep a history - every model variant lands in the Hangar, and each one carries a Logbook recording its preprocessing, exclusions, and lineage, so you can branch a new variant from an existing one and compare. The running version is always shown, faint, in the top-right corner so you know exactly what you are looking at.

Your datasets and models are saved, so they survive a restart and are there when you come back.


Quick start

You need Python 3.12+ and uv. Then:

uv run scorepilot

That boots the app and opens your browser at http://127.0.0.1:8000. Load a sample dataset from the home page and start exploring.

Handy flags:

uv run scorepilot --host 0.0.0.0 --port 8080 --no-browser

The packaged app is a single process with no Node required at runtime: the Python server hosts both the API and the web UI.


The assistant (optional)

ScorePilot has an optional in-app assistant, T²-D2, for help interpreting a model. It is off by default, bring-your-own-key, and the analysis never depends on it - the tool is fully usable without it.


For developers

ScorePilot is a FastAPI + SQLAlchemy backend with a SvelteKit (Svelte 5) + ECharts frontend, wrapping the process-improve chemometrics library for the numerics. The numerical core/ is pure and has no web or database imports.

The frontend ships two standalone, domain-agnostic libraries that know nothing about chemometrics and can be reused elsewhere: frontend/src/lib/grid/ (a dependency-free data grid) and frontend/src/lib/plots/ (a linked-plots collection with brushing-and-linking; see frontend/src/lib/plots/README.md).

Common tasks:

uv sync                 # set up the environment
uv run scorepilot       # run the app
uv run pytest           # tests
uv run ruff check .     # lint
uv run pyright          # type check

cd frontend && npm install && npm run dev   # frontend dev server (proxies /api)

License

MIT. See LICENSE.

Metadata

Release files for scorepilot 0.22.36

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

Built distribution (wheel)

Table of built distributions (wheels) for scorepilot 0.22.36
File Interpreter ABI Platform
scorepilot-0.22.36-py3-none-any.whl Python 3 none any Details

Release files / scorepilot-0.22.36-py3-none-any.whl

Download URL scorepilot-0.22.36-py3-none-any.whl
Size 1.4 MB
Tags Python 3
SHA-256 checksum
How to use checksums
f52fc426d71b5cbcd9284ccfbce6754427fe12176aa9566cba96c0ff227eef8d
BLAKE2b-256 checksum
How to use checksums
fcc49023bcc102a504405f2174c6605294d9ff71d5750a6d9b3c39c1e55fab94
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 7, 2026.

Transparency log
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