Skip to main content

Snapshot, frame, and video renderer for PyVista-based dense-flow visualization with Nek5000 support

Project description

quadros banner

CI PyPI Python License

quadros is a Python CLI package for rendering snapshots into checked frame sets and videos. It can run locally, over SSH, inside containers, or from scheduler jobs without copying scripts into case directories. Nek5000 is the format with dedicated support; other VTK-readable formats are supported via PyVista.

Features

  • Render one snapshot or a globbed case directory of snapshots (Nek5000 with dedicated support).
  • Keep JSON render configs compatible with the original auto_snp workflow.
  • Write manifests, logs, events, frames, and encoded movies under a run output directory.
  • Inspect render manifests before deleting dense snapshots.
  • Extract camera settings from ParaView .pvsm state files.
  • Gate NekStab omega-R renders with explicit field aliases and a rebuild hint.

Install

With uv (recommended for local development)

git clone https://github.com/openfluids/quadros.git
cd quadros
uv venv .venv
. .venv/bin/activate
uv pip install -e .
quadros doctor

For development tools and tests:

uv pip install -e . --group dev
python -m pytest

With standard venv + pip

git clone https://github.com/openfluids/quadros.git
cd quadros
python -m venv .venv
. .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e .
quadros doctor

For development tools and tests:

python -m pip install -e . pytest build twine
python -m pytest

For a cluster/native rendering setup, see docs/native-stack.md.

CLI

quadros doctor
quadros render snapshot.f00001 --config configs/render_scenes_example.json
quadros render-many --case-dir /path/to/case --pattern 'sphere0.f*' --config render.json
quadros inspect manifest.json
quadros encode --frames frames/ --out movies/movie.mp4
quadros extract-camera qp_comp.pvsm --out camera.json

By default, render outputs are written in loco under SNAPSHOT_PARENT/quadros for render and CASE_DIR/quadros for render-many. Use --out only when you intentionally want a different output root.

--check enables an omega-R preflight gate for configs that declare field_aliases for omR*/omega fields. If the configured payload is absent, the command points the operator to rebuild the NekStab case with ifvox = .true. and mks <CASE>.

Package layout

  • src/quadros/ — importable package and public CLI entrypoint.
  • configs/ — JSON render config examples compatible with the original workflow.
  • slurm/render_snapshots.sbatch — generic Slurm starter template; copy it and add cluster-specific account, partition, module, or container directives as needed.
  • tests/ — packaging and CLI smoke tests.
  • docs/ — native-stack notes and operating guidance.
  • PLAN.md — source migration plan.

Validation

python -m compileall src tests
python -m quadros --help
quadros doctor

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

quadros-0.1.1.tar.gz (742.6 kB view details)

Uploaded Source

Built Distribution

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

quadros-0.1.1-py3-none-any.whl (39.9 kB view details)

Uploaded Python 3

File details

Details for the file quadros-0.1.1.tar.gz.

File metadata

  • Download URL: quadros-0.1.1.tar.gz
  • Upload date:
  • Size: 742.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for quadros-0.1.1.tar.gz
Algorithm Hash digest
SHA256 67177d1dcc277aef093a6b49fca119d4816922593453e4809826d4fc3c8f54e4
MD5 d596e1782f2f7e925d7fbafd95d95981
BLAKE2b-256 6f1dd5a8cecc889862de6a08d6da05d87de84a08961d1d9497ed5be8d5eda525

See more details on using hashes here.

Provenance

The following attestation bundles were made for quadros-0.1.1.tar.gz:

Publisher: release.yml on openfluids/quadros

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

File details

Details for the file quadros-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: quadros-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 39.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for quadros-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5af876a1563cf44adf462ed8137d1f8f239fadef02795c9162c1e92680968faf
MD5 f6e55ffee23fb7e954031bcdd955c757
BLAKE2b-256 f6579747f36c27f7fbc625185004bc84cf1bcb79d591a6d28b65f1ed8a63bcab

See more details on using hashes here.

Provenance

The following attestation bundles were made for quadros-0.1.1-py3-none-any.whl:

Publisher: release.yml on openfluids/quadros

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