Skip to main content

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

This version

0.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

live_rail-0.0.tar.gz (68.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

live_rail-0.0-py3-none-any.whl (60.5 kB view details)

Uploaded Python 3

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

Hashes for live_rail-0.0.tar.gz
Algorithm Hash digest
SHA256 98f6ff685bfb18e92400bce4980bbbb150094a21d6b1df7f6ff6f828b6429e49
MD5 d397b76bd9618a1d5624ce90af054691
BLAKE2b-256 c784aaedd88cbdba6fe5b0ab40c0a1eb9f07b6355766048874fb95b958c75d48

See more details on using hashes here.

Provenance

The following attestation bundles were made for live_rail-0.0.tar.gz:

Publisher: publish-to-pypi.yml on LSSTDESC/live-rail

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for live_rail-0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bc0d2579f5f8f1676ea553dc1af7006be3728b973afb9bcb4c7cc06ac219e8aa
MD5 d4fd90f02fc94c73071d4d3f2ce508e3
BLAKE2b-256 dec59274207dfe14b2861419c4184c152e78b1514f81996cb16c253e0fcf19e4

See more details on using hashes here.

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page