Skip to main content

LizyStudio

PyPI version Python License: MIT CI

A web-based GUI for machine-learning workflows. Configure, train, evaluate, tune, and run inference — all from your browser, no code required.

LizyStudio wraps ML backend libraries (starting with LizyML) behind an adapter layer, so the same interface works across different backends.

Workspace

Features

Workspace — iterative ML workflow in a single page

Configure data, model parameters, cross-validation, and run training — all without leaving the page. Results appear in real-time via WebSocket.

  • JSON-Schema-driven config forms — backend schemas are rendered automatically; no hand-written UI per backend
  • CV fold preview and column value distribution bars
  • BlockedGroupKFold 2-axis editor for complex split strategies
  • Config upload/download (YAML/JSON)

Jobs — training lifecycle management

Jobs

Browse all fit and tune jobs. Inspect metrics, feature importance, learning curves, and confusion matrices. Export trained models or standalone Python code.

  • KPI cards with key metrics at a glance
  • Feature importance with kind selection (split, gain, SHAP)
  • Learning curve plots with per-fold filtering
  • Model export as artifacts or dependency-free Python code

Tune — hyperparameter optimization

Tune

Define search spaces with fixed/range modes, run Optuna-powered hyperparameter tuning, and compare trial results.

  • Search space editor with default range auto-population
  • Real-time trial progress with fold-level scores

Inference — apply models to new data

Predict on new datasets using any completed job's model. Optionally include SHAP explanations and evaluate against ground truth.

  • Prediction table with pagination
  • Evaluation metrics and plots (when ground truth is available)
  • Distribution comparison between inference runs
  • CSV download of results

Adapter architecture

Plug in new ML backends by implementing a single Python protocol. The GUI adapts automatically — no frontend changes needed.

See the Adapter Guide for implementation details.

Requirements

  • Python 3.10+

Installation

pip install lizystudio

Quick start

lizystudio              # starts the server on http://localhost:8501
lizystudio --port 9000  # custom port

Open your browser and navigate to the URL shown in the terminal.

Deploying behind a non-localhost origin

Set the comma-separated allowlist env vars so the server accepts your production URLs:

export LIZYSTUDIO_CORS_ALLOWED_ORIGINS="https://studio.example.com"
export LIZYSTUDIO_WS_ALLOWED_ORIGINS="https://studio.example.com"

Both default to http://localhost:5173 / the dev localhost set when the variables are unset.

Typical workflow

  1. Load data — upload a CSV/Parquet or select a local file
  2. Configure model — adjust parameters or use smart defaults
  3. Train — click Fit (single run) or Tune (hyperparameter search)
  4. Review results — metrics, plots, and feature importance appear in real-time
  5. Export — save the trained model or generate standalone Python code
  6. Inference — apply the model to new data

Tech stack

Layer Technology
Backend Python, FastAPI, Uvicorn
Frontend React 19, TypeScript, Vite
UI Tailwind CSS, shadcn/ui
ML backend LizyML (LightGBM + scikit-learn)
Type safety Pydantic → OpenAPI → openapi-typescript
Linting Ruff (Python), Biome (TypeScript)
Testing pytest, Vitest, Playwright

Development

Prerequisites

  • Python 3.10+ with uv
  • Node.js 20+ with pnpm v9

Setup

# Clone
git clone https://github.com/nbx-liz/LizyStudio.git
cd LizyStudio

# Backend
uv sync
uv run lizystudio --reload          # dev server on http://localhost:8501

# Frontend (in a separate terminal)
cd frontend
pnpm install
pnpm dev                            # Vite dev server on http://localhost:5173

Commands

# Backend
uv run pytest                       # run tests
uv run ruff check .                 # lint
uv run ruff format --check .        # format check
uv run mypy src/lizystudio/         # type check

# Frontend
cd frontend
pnpm build                          # production build → src/lizystudio/static/
pnpm check                          # Biome lint + format
pnpm test                           # Vitest
pnpm test:e2e                       # Playwright E2E
pnpm generate:api                   # regenerate API types from OpenAPI
pnpm storybook                      # component development

Cleaning local artefacts

Day-to-day development leaves gitignored artefacts in the working tree (visual-spike PNGs, stale coverage.json, superseded dist/*.whl from local uv build runs). They are not tracked, so they never enter a commit, but they clutter file searches over time.

git clean -dxn                      # dry-run: list what would be removed
git clean -dxf                      # actually remove everything gitignored

-x includes gitignored files; -d recurses into untracked directories. Run from the repo root only — the command is destructive for anything that is gitignored but locally important (e.g. .env).

Documentation

Document Description
Architecture System overview, layer responsibilities, data flow
API Reference REST endpoints, WebSocket, error codes
Adapter Guide How to implement a new ML backend
Contributing Development workflow, conventions, quality gates
Changelog Release history
Security Vulnerability reporting, security design

Contributing

Contributions are welcome! Please read the Contributing Guide for the development workflow, commit conventions, and quality requirements.

License

MIT

Metadata

Release files for lizystudio 0.6.6

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

Source distribution (sdist)

Source distribution for lizystudio 0.6.6
File Size Uploaded
lizystudio-0.6.6.tar.gz 1.9 MB Details

Built distribution (wheel)

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

Total release size: 3.9 MB

Release files / lizystudio-0.6.6.tar.gz

Download URL lizystudio-0.6.6.tar.gz
Size 1.9 MB
Tags Source
SHA-256 checksum
How to use checksums
9111f2a142b2be5eb404268a9ac0d768a88b9cd5e31d6a3f9484858d6999ec76
BLAKE2b-256 checksum
How to use checksums
598e2d657fa3160cb9aff2abc8fda7d5f631d265ca1638a7ea4916943ad61d00
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 30, 2026.

Transparency log

Release files / lizystudio-0.6.6-py3-none-any.whl

Download URL lizystudio-0.6.6-py3-none-any.whl
Size 2.0 MB
Tags Python 3
SHA-256 checksum
How to use checksums
8e1805ae344352b1dd65c6c3818ef6808ec6d26d425d4a7388ea6ab327cb23db
BLAKE2b-256 checksum
How to use checksums
398fe86b0d3f32e88f2d1c849a6af9b3bb1ed7d9f3a39664d0950213b8592046
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 30, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.6.6 This release

2 release files

0.6.5

2 release files

0.6.4

2 release files

0.6.3

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

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