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
udaorsalbackend - 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 numbertime: generated time base fromtmin,tmax, anddt- 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:udaorsal(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)
| File | Size | Uploaded | |
|---|---|---|---|
| shot_tabular-0.1.5.tar.gz | 10.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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