kt-masterviz
Live Streamlit dashboard for kt-masterlog master CSV files. Companion package — separate install so you don't pay the dashboard's dependency footprint when you only want the logger.
What it does
Point kt-masterviz at any master CSV produced by kt-masterlog (or any CSV that follows the schema: trial_id, epoch, hyperparameter columns, metric columns) and get a live Streamlit dashboard showing:
- Trial summary — one row per trial, sorted by the objective metric, with hyperparameter values inline.
- Training curves — per-trial loss/accuracy lines, switchable across any detected metric.
- Raw data — the full DataFrame, for ad-hoc filtering.
The reader is file-safe: tolerant of partial last rows from a writer mid-append, so you can launch the dashboard against a CSV that's still being written by a running tuner.
Install
With pip:
pip install kt-masterviz
With uv:
uv add kt-masterviz
Usage
kt-masterviz path/to/master_log.csv
Opens the dashboard at http://localhost:8501. The page auto-refreshes every few seconds (configurable in the sidebar) so trials show up as the tuner writes them.
The CSV doesn't need to exist when you launch — the dashboard polls and renders a waiting state until the writer produces the first row. Useful for starting the viewer before kicking off a long sweep.
Programmatic use
If you'd rather build your own viewer, the loader is the reusable bit:
from kt_masterviz import load_master_csv, detect_hyperparameter_columns
df = load_master_csv("runs/sweep_master_log.csv")
hp_cols = detect_hyperparameter_columns(df)
# ... your own pandas / plotly / altair code
CSV schema
kt-masterviz works with any CSV that has:
| Column | Required | Purpose |
|---|---|---|
trial_id |
yes | Identifies a single tuning trial |
epoch |
yes | Epoch number within the trial |
loss / val_loss / accuracy / etc. |
no (auto-detected) | Training/validation metrics |
| anything else | no | Treated as a hyperparameter or extra field |
Detection of "metric vs hyperparameter" is heuristic — a column counts as a metric if its lowercased name contains any of: loss, accuracy, acc, auc, mae, mse, rmse, f1, precision, recall, iou, dice. Everything else is treated as a hyperparameter or static field (and shown in the trial summary).
Requirements
- Python 3.12 (tested; 3.13+ may work but is not yet verified)
- pandas ≥ 2.0
- streamlit ≥ 1.28
No dependency on kt-masterlog itself — kt-masterviz reads its file format but doesn't import its code.
License
MIT.
Metadata
Release files for kt-masterviz 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| kt_masterviz-0.1.1.tar.gz | 96.7 kB | Without provenance | Details for kt_masterviz-0.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| kt_masterviz-0.1.1-py3-none-any.whl | Python 3 | none | any | Details for kt_masterviz-0.1.1-py3-none-any.whl |
Total release size: 108.5 kB
Release files / kt_masterviz-0.1.1.tar.gz
| Download URL | kt_masterviz-0.1.1.tar.gz |
|---|---|
| Size | 96.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
493b8cae7e4a9a759815711a7cbafab2e76882134e26fe747fbb1ca6c10024dd
|
|
BLAKE2b-256 checksum How to use checksums |
66d7d3889fd103e1af7a51a7d7d1858d797c7e79cc596a1779b73034a9d26c62
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / kt_masterviz-0.1.1-py3-none-any.whl
| Download URL | kt_masterviz-0.1.1-py3-none-any.whl |
|---|---|
| Size | 11.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
81b3b3590bf7dd6c970ba1f4a29298bf97f4773b3a63634bae7d865187f2a7df
|
|
BLAKE2b-256 checksum How to use checksums |
31fb7b89921ca6df2091c9e63d9893d081172fdc254a1420e63152f0f9e8f9f4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for kt-masterviz 0.1.1
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.