Skip to content

Repository files navigation

Spinal Tap


CI codecov Documentation Status PyPI version Python

Spinal Tap is a Dash application that provides simple visualization tools for the Scalable Particle Imaging With Neural Embeddings (SPINE) package.

Installation

You can install Spinal Tap and all dependencies (including Dash, Flask, Plotly, and spine) using pip:

pip install .

Or, for editable development mode:

pip install -e .

Usage

Launch the application and open http://localhost:8888 in a browser:

spinal-tap

Check the installed version with:

spinal-tap --version

Spinal Tap provides fast WebGL and Plotly renderers, reconstruction/truth comparison, object filtering and inspection, configurable appearance, and portable exports. The complete user guide covers:

See the Spinal Tap documentation for the full installation, usage, deployment, and development guides.

Deployment

Kubernetes

Spinal Tap is deployed on SLAC's S3DF Kubernetes infrastructure and is accessible at:

https://spinal-tap.slac.stanford.edu

S3DF input paths may use either the host form /sdf/data/neutrino/... or the container form /data/...; Spinal Tap resolves both forms automatically.

Readers and built events are cached per application process. The bounds can be configured with SPINAL_TAP_READER_CACHE_SIZE (default 8) and SPINAL_TAP_EVENT_CACHE_SIZE (default 2); set either to 0 to disable that cache. Compact binary scenes are held in an eight-entry process-local LRU while the browser fetches them; configure this bound with SPINAL_TAP_SCENE_CACHE_SIZE (minimum 1).

The Kubernetes configuration files are located in the k8s/ directory. For deployment instructions and SLAC-specific configuration details, see:

Docker

Docker images are automatically built and published to GitHub Container Registry when version tags are pushed:

docker pull ghcr.io/deeplearnphysics/spinal-tap:latest

To run locally with Docker:

docker run -p 8888:8888 ghcr.io/deeplearnphysics/spinal-tap:latest

Development & CI/CD

  • Code style is enforced with black, isort, and flake8 (pre-commit and CI).
  • The GitHub Actions workflow builds and tests on every commit, PR, tag, and release.
  • The complete test suite enforces 100% statement coverage and publishes its report to Codecov.
  • Docker images are built automatically on version tag pushes (e.g., v0.1.2).
  • Publishing:
    • On tag push: publishes to Test PyPI (requires TEST_PYPI_API_TOKEN secret).
    • On GitHub Release: publishes to PyPI (requires PYPI_API_TOKEN secret).

About

SPINE Reconstruction Visualization Tool

Resources

Stars

1 star

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages