Skip to main content

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

shot_tabular-0.1.4.tar.gz (10.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

shot_tabular-0.1.4-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file shot_tabular-0.1.4.tar.gz.

File metadata

  • Download URL: shot_tabular-0.1.4.tar.gz
  • Upload date:
  • Size: 10.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for shot_tabular-0.1.4.tar.gz
Algorithm Hash digest
SHA256 44f621a27f525cbdad88043ad83cfa45ae6ba13457f3b27761b8dcdf75d49291
MD5 1c44267429a227fc5e658af6ae2aa3c6
BLAKE2b-256 fbbe1eedd537c83a2396388eb63dc58910d66cb8daea321158b087ae0239e1a0

See more details on using hashes here.

Provenance

The following attestation bundles were made for shot_tabular-0.1.4.tar.gz:

Publisher: publish.yml on samueljackson92/shot-tabular

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file shot_tabular-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: shot_tabular-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for shot_tabular-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 be435e788996794cd06acba5cd0bea1e8f8fb5ccbea6e3e9e6a81b657d1007f0
MD5 1d5b0e7d1e4a10a6632ea78a8577d4b5
BLAKE2b-256 78c0dfb57b8a502e22b203bd3014dd451d229592dc5d79146c72441abb78e4c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for shot_tabular-0.1.4-py3-none-any.whl:

Publisher: publish.yml on samueljackson92/shot-tabular

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page