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


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.1.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.1-py3-none-any.whl (60.5 kB view details)

Uploaded Python 3

File details

Details for the file live_rail-0.1.tar.gz.

File metadata

  • Download URL: live_rail-0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 980790215d39138af0fb874887253677ff64a50edaf8fdaeb38e3af16eddc21b
MD5 c04b5e7155ec33d355d600e7d9104677
BLAKE2b-256 76a9014e18080b3effd652ade46519a3eca0b756b69df4d5a480a6744e550c45

See more details on using hashes here.

Provenance

The following attestation bundles were made for live_rail-0.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: live_rail-0.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c2399d8928f035edac55097c8e714ef006a3394434913ac66699fb0815bac316
MD5 681b00305495e68c87a54cabc8b42324
BLAKE2b-256 d305ca7fa083f1cc6644fca8f37b366981c8b7f3676e6507f60f867cfaf2951c

See more details on using hashes here.

Provenance

The following attestation bundles were made for live_rail-0.1-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