Skip to main content

shot-tabular

shot-tabular is a command-line tool for building per-shot tabular datasets from shot-based time series signals.

It loads one or more signals for each shot, interpolates them onto a shared time base, and writes one Parquet file per shot.

Features

  • Load multiple signals per shot using uda or sal backend
  • Interpolate each signal to a common time grid
  • Process many shots in parallel with multiprocessing
  • Save one output file per shot as Parquet (<output-folder>/<shot>.parquet)

Installation

This project uses pyproject.toml and requires Python 3.12+.

If you use uv:

uv sync

Or with pip:

python -m venv .venv
source .venv/bin/activate
pip install -e .

CLI

After installation, the command is:

st

You must specify shots in one of these ways:

  • --shots 12345 12346
  • --shot-file shots.csv (first column is used)
  • --shot-min 12345 --shot-max 12360

You should also provide one or more -s signal mappings:

  • -s <alias> <signal> to map a column name to a signal path
  • -s <signal> to use the same text for alias and signal

Basic Example

st \
	--shots 12345 12346 \
	-s ip "AMC_PLASMA CURRENT" \
	-s ne "ANE_DENSITY" \
	--backend uda \
	--tmin 0.0 \
	--tmax 5.0 \
	--dt 0.01 \
	--method nearest \
	--output-folder output

Shot Range Example

st \
	--shot-min 12000 \
	--shot-max 12010 \
	-s ip \
	-o output

Output Format

Each successfully processed shot is written to:

  • <output-folder>/<shot>.parquet

Each per-shot table includes:

  • shot: shot number
  • time: generated time base from tmin, tmax, and dt
  • one column per signal alias

Columns are ordered as shot, time, then the successfully loaded signal columns.

Main Options

  • --shots: explicit list of shot numbers
  • --shot-file: CSV/text file of shot numbers (first column)
  • --shot-min, --shot-max: inclusive shot range
  • -s: signal mapping(s), repeatable
  • --backend: uda or sal (default: uda)
  • -o, --output-folder: output directory path (default: output)
  • -n, --num-workers: worker process count (default: CPU count)
  • --tmin: start time (default: 0.0)
  • --tmax: end time (default: signal max time)
  • --dt: time step (default: 0.01)
  • --method: interpolation method (nearest, linear, cubic, zero, next, previous)

Development

Running the tests

Install dev dependencies (includes pytest) then run the suite:

uv sync --group dev
uv run pytest tests/ -v

Tests mock both uda and sal backends, so no VPN connection is required.

Linting

uv run ruff check shot_tabular/ tests/
uv run ty check shot_tabular/ tests/

Notes

  • If an individual signal fails to load for a shot, processing continues and the error is printed.
  • Output is currently Parquet-only.
  • If all signals fail for a shot, no file is written for that shot.

Release files for shot-tabular 0.1.5

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

Source distribution (sdist)

Source distribution for shot-tabular 0.1.5
File Size Uploaded
shot_tabular-0.1.5.tar.gz 10.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for shot-tabular 0.1.5
File Interpreter ABI Platform
shot_tabular-0.1.5-py3-none-any.whl Python 3 none any Details

Total release size: 18.5 kB

Release files / shot_tabular-0.1.5.tar.gz

Download URL shot_tabular-0.1.5.tar.gz
Size 10.4 kB
Tags Source
SHA-256 checksum
How to use checksums
2ced342e0b220e7d290ce2a3af53ec3e8e7544d7ec1f7b757cd3708e1278a051
BLAKE2b-256 checksum
How to use checksums
2744ebd772774d339ee93f9e06e0c1db7298140a9819db64aac6fa331a2ed2fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 24, 2026.

Transparency log

Release files / shot_tabular-0.1.5-py3-none-any.whl

Download URL shot_tabular-0.1.5-py3-none-any.whl
Size 8.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
07c114164d4de56c7d723a58d10391a83e633f90d2a4abfb6fe83355fe2820e4
BLAKE2b-256 checksum
How to use checksums
50978771da697878064e0be4598f4e2b6ece7db93e2aa6bce4d2df1e3b753ccf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 24, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.5 This release

2 release files

0.1.4

2 release files

0.1.3

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