Skip to main content

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.

The standard installation and container remain lean and read SPINE HDF5 files. An optional LArCV container adds ROOT, LArCV2, and maintained spine-prod detector conversion bundles so raw LArCV ROOT files can be visualized directly.

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

Use the separate LArCV flavor only when direct ROOT input is needed:

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

To run locally with Docker:

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

For LArCV input, run the LArCV image, mount the source data, and select the matching dated detector converter in the Data panel:

docker run --rm -p 8888:8888 -v /host/data:/data:ro \
  ghcr.io/deeplearnphysics/spinal-tap:larcv

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).

Metadata

Release files for spinal-tap 1.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for spinal-tap 1.2.0
File Size Uploaded
spinal_tap-1.2.0.tar.gz 831.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for spinal-tap 1.2.0
File Interpreter ABI Platform
spinal_tap-1.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.6 MB

Release files / spinal_tap-1.2.0.tar.gz

Download URL spinal_tap-1.2.0.tar.gz
Size 831.4 kB
Tags Source
SHA-256 checksum
How to use checksums
9af6ac322ad7041b6e058b22b3809df168d6f90a1bdceb75a1572b7d4caa204d
BLAKE2b-256 checksum
How to use checksums
6c6a99d620235c6a45f6976445cf65a945493c1ecc589769f448f02c9f7822c4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release files / spinal_tap-1.2.0-py3-none-any.whl

Download URL spinal_tap-1.2.0-py3-none-any.whl
Size 793.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bd1284ebbe355d6b4a30fa5d55c0a0a41d1c208cd792fcda9fe7c8e448017545
BLAKE2b-256 checksum
How to use checksums
4a0af855694c0a441e424c5e5b689ff3d63778b8e3a463fd6ff2fe23701d6dd5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16

Release history Release notifications | RSS feed

This release

1.2.0 This release

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page