Unified dashboard for RAIL photometric redshift estimation
Project description
live-rail
Unified dashboard for RAIL photometric redshift estimation catalog management and visualization.
Overview
live-rail provides a multi-page Dash web application for:
- CRUD management of photo-z catalog entities (algorithms, bands, catalog tags, datasets, models, estimators, estimates)
- Estimation workflows — run photo-z PDF estimation, ensemble estimation, and full dataset estimation
- Interactive visualization — single-catalog and multi-catalog photometric spectrum, color-color diagrams, and redshift PDF comparison
All backed by the pz-rail-svc package, supporting both local SQLite database access and remote FastAPI server access.
Installation
pip install -e '.[dev]'
Quick Start
# Download data set set up local SQLite DB
python scripts/setup_pzdc.py
# Launch the dashboard (uses local SQLite DB)
live-rail dashboard --backend local --db-url "sqlite+aiosqlite:///rail_svc.db"
# With RAIL catalog config for live estimators
live-rail dashboard --catalog-yaml nb/sandbox_catalogs.yaml
# Connect to a remote rail_svc server
live-rail dashboard --backend remote --server-url http://localhost:8000
Then open http://127.0.0.1:8050 in your browser.
Features
CRUD Tables
- AG Grid tables with sorting, filtering, and pagination
- Click entity names to see full details in a popup
- Click FK columns (model_id, dataset_id, etc.) to see the referenced entity
- Create and delete entities via modal forms
Visualizers
- Single Catalog: Photometric spectrum, color-color diagram (all adjacent pairs), and redshift PDF estimates for any object in a dataset
- Multi Catalog: Same layout comparing across component catalogs in a matched (collection) dataset
- Navigate objects with slider or back/next buttons
- Pre-computed and live estimator PDFs with true redshift overlay
Estimation
- Run photo-z PDF estimation for a single object
- Run ensemble estimation for an entire catalog
- Run full dataset estimation (creates estimates record in DB)
Development
# Run unit tests
pytest
# Run integration tests (requires real DB + data files)
pytest -m integration
# Lint & format
ruff check src/ tests/
ruff format src/ tests/
# Type check
mypy src/
# Pylint
pylint src/live_rail/ --rcfile=pyproject.toml
Project Structure
src/live_rail/
├── backend/ # BackendProvider — switches between local/remote rail_svc
├── cli/ # Click CLI (live-rail dashboard)
├── dashboard/ # Dash multi-page app
│ ├── pages/crud/ # CRUD pages for each entity
│ ├── pages/estimation/ # Estimation workflow pages
│ └── pages/visualizers/ # Interactive visualizer pages
└── wrappers/ # CatalogWrapper abstractions for data access
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file live_rail-0.0.tar.gz.
File metadata
- Download URL: live_rail-0.0.tar.gz
- Upload date:
- Size: 68.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
98f6ff685bfb18e92400bce4980bbbb150094a21d6b1df7f6ff6f828b6429e49
|
|
| MD5 |
d397b76bd9618a1d5624ce90af054691
|
|
| BLAKE2b-256 |
c784aaedd88cbdba6fe5b0ab40c0a1eb9f07b6355766048874fb95b958c75d48
|
Provenance
The following attestation bundles were made for live_rail-0.0.tar.gz:
Publisher:
publish-to-pypi.yml on LSSTDESC/live-rail
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
live_rail-0.0.tar.gz -
Subject digest:
98f6ff685bfb18e92400bce4980bbbb150094a21d6b1df7f6ff6f828b6429e49 - Sigstore transparency entry: 1843766434
- Sigstore integration time:
-
Permalink:
LSSTDESC/live-rail@401273a15a07ff8ac0145ea423a93b2a45584fa4 -
Branch / Tag:
refs/tags/v0.0 - Owner: https://github.com/LSSTDESC
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@401273a15a07ff8ac0145ea423a93b2a45584fa4 -
Trigger Event:
release
-
Statement type:
File details
Details for the file live_rail-0.0-py3-none-any.whl.
File metadata
- Download URL: live_rail-0.0-py3-none-any.whl
- Upload date:
- Size: 60.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bc0d2579f5f8f1676ea553dc1af7006be3728b973afb9bcb4c7cc06ac219e8aa
|
|
| MD5 |
d4fd90f02fc94c73071d4d3f2ce508e3
|
|
| BLAKE2b-256 |
dec59274207dfe14b2861419c4184c152e78b1514f81996cb16c253e0fcf19e4
|
Provenance
The following attestation bundles were made for live_rail-0.0-py3-none-any.whl:
Publisher:
publish-to-pypi.yml on LSSTDESC/live-rail
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
live_rail-0.0-py3-none-any.whl -
Subject digest:
bc0d2579f5f8f1676ea553dc1af7006be3728b973afb9bcb4c7cc06ac219e8aa - Sigstore transparency entry: 1843766727
- Sigstore integration time:
-
Permalink:
LSSTDESC/live-rail@401273a15a07ff8ac0145ea423a93b2a45584fa4 -
Branch / Tag:
refs/tags/v0.0 - Owner: https://github.com/LSSTDESC
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@401273a15a07ff8ac0145ea423a93b2a45584fa4 -
Trigger Event:
release
-
Statement type: