Add your description here
Project description
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file shot_tabular-0.1.0.tar.gz.
File metadata
- Download URL: shot_tabular-0.1.0.tar.gz
- Upload date:
- Size: 10.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
97181e406040ed6f13a7785f0631ad6d91fddc6eeab2ff79b20ba81edb02ba65
|
|
| MD5 |
04f69979f4d5409ae8eb0e00bb15e30c
|
|
| BLAKE2b-256 |
847838c2b62dac4e1a2ed9808490b6a4e73253c4c0c5cb36fa698941a4916beb
|
Provenance
The following attestation bundles were made for shot_tabular-0.1.0.tar.gz:
Publisher:
publish.yml on samueljackson92/shot-tabular
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
shot_tabular-0.1.0.tar.gz -
Subject digest:
97181e406040ed6f13a7785f0631ad6d91fddc6eeab2ff79b20ba81edb02ba65 - Sigstore transparency entry: 1656601634
- Sigstore integration time:
-
Permalink:
samueljackson92/shot-tabular@2ab4d19d3debfc71107b4af9017da5a1542d84f8 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/samueljackson92
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@2ab4d19d3debfc71107b4af9017da5a1542d84f8 -
Trigger Event:
push
-
Statement type:
File details
Details for the file shot_tabular-0.1.0-py3-none-any.whl.
File metadata
- Download URL: shot_tabular-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
add5b637b0705174d8f356c821fa1f744ac3685e99766e3121af280416cb551e
|
|
| MD5 |
ae91c20cec4c2d808168d9640700fe26
|
|
| BLAKE2b-256 |
9aeaba09a1963bd9ac669779df6e7b43b05c466c039bb4a8c8480540003853a3
|
Provenance
The following attestation bundles were made for shot_tabular-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on samueljackson92/shot-tabular
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
shot_tabular-0.1.0-py3-none-any.whl -
Subject digest:
add5b637b0705174d8f356c821fa1f744ac3685e99766e3121af280416cb551e - Sigstore transparency entry: 1656601703
- Sigstore integration time:
-
Permalink:
samueljackson92/shot-tabular@2ab4d19d3debfc71107b4af9017da5a1542d84f8 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/samueljackson92
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@2ab4d19d3debfc71107b4af9017da5a1542d84f8 -
Trigger Event:
push
-
Statement type: