Skip to main content

aerocfd_cli

Utilities for packaging CFD simulation folders into a single .liufs archive.

This package scans a simulation directory tree, classifies leaf folders, and then:

  • Encodes cutplane image sequences (cfd_images) into videos using ffmpeg
  • Converts 3d_views images into .webp for additional compression
  • Writes a manifest.json describing packaged content
  • Produces a ZIP-based .liufs archive
  • Can append a new run into an existing .liufs archive

Installation

PyPI project page: https://pypi.org/project/aerocfd/

Install CLI mode:

pip install "aerocfd[cli]"

Install full mode (CLI + desktop app dependencies):

pip install "aerocfd[full]"

From release artifacts

Install from a wheel file (available in GitHub releases):

pip install "aerocfd-1.1.0-py3-none-any.whl[cli]"

As a package dependency

Add to your requirements.txt:

aerocfd[cli]

Or in pyproject.toml:

dependencies = [
  "aerocfd[cli]",
]

Requirements

  • Python 3.12+
  • ffmpeg available on PATH
  • Dependencies automatically installed: opencv-python, rich

For development, install with optional dev dependencies from the project root:

pip install -e ".[dev]"

CLI Usage

After installation, use either:

aerocfd <source_dir> [options]

Or from the project root (if not installed using the editable install):

python -m aerocfd_cli <source_dir> [options]

Options

  • -o, --output Output .liufs file path (default: <source>.liufs)
  • --append-to Existing .liufs archive to extend with the source directory as a new run
  • --run-name Override the run name used when appending to an existing archive
  • --fps FPS for generated CFD videos (default: 12)
  • --extension Video extension for CFD videos (default: mp4)
  • --webp-quality WebP quality for 3d_views conversion, 0-100 (default: 80)
  • --workers Worker threads for leaf processing, WebP conversion, and per-plane video encoding (default: auto)
  • --include-unknown Copy files from unknown leaf folders into the package
  • --log-level Minimum event log level: info, warning, or error (default: info)
  • --progress-only Show only progress/ETA bar and suppress event log lines
  • --quiet Disable all terminal output, including progress and errors

Example

aerocfd /path/to/ER26-BL-0001 \
  --output /path/to/ER26-BL-0001.liufs \
  --fps 12 \
  --extension mp4 \
  --webp-quality 75

Python API

from aerocfd_cli.packager import append_run_to_liufs, build_liufs

archive_path = build_liufs(
    source_dir="/path/to/ER26-BL-0001",
    output_file="/path/to/ER26-BL-0001.liufs",
    fps=12,
    extension="mp4",
    webp_quality=80,
    include_unknown=False,
)
print(archive_path)

append_path = append_run_to_liufs(
  source_dir="/path/to/new_run",
  archive_file="/path/to/ER26-BL-0001.liufs",
)
print(append_path)

To append with a custom run name:

append_path = append_run_to_liufs(
  source_dir="/path/to/new_run",
  archive_file="/path/to/ER26-BL-0001.liufs",
  run_name="run_02",
)

Folder Classification

Leaf folders are identified by filename patterns:

  • cfd_images: files like X10X.png, Y5Y.png, Z120Z.png
  • 3d_views: view images like top.png, front.png, iso_left_front_top.png
  • otherwise: unknown

Notes

  • If ffmpeg is missing, CFD video generation is skipped.
  • webp_quality trades size for quality: lower values give smaller files.
  • Output archive includes manifest.json with metadata and packaged file references.

Metadata

Release files for aerocfd 1.1.0

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

Source distribution (sdist)

Source distribution for aerocfd 1.1.0
File Size Uploaded
aerocfd-1.1.0.tar.gz 88.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for aerocfd 1.1.0
File Interpreter ABI Platform
aerocfd-1.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 168.9 kB

Release files / aerocfd-1.1.0.tar.gz

Download URL aerocfd-1.1.0.tar.gz
Size 88.9 kB
Tags Source
SHA-256 checksum
How to use checksums
620765be190dd1d7f71edb94b698026f218ee724255f763f1e7ff9de3706f1bf
BLAKE2b-256 checksum
How to use checksums
afcb376079bd0d4e1f9c01828fa230ce60d27580fb5ea1691beefee216a193b6
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 Apr 13, 2026.

Transparency log

Release files / aerocfd-1.1.0-py3-none-any.whl

Download URL aerocfd-1.1.0-py3-none-any.whl
Size 80.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1186fa8e37bb494e260ef149fd6737a32119af0844a61984206133ba7db10737
BLAKE2b-256 checksum
How to use checksums
b0f18ef959e71cc4b5b6797a5908f3aa087ad9a9fadf42e71763ae9a11b0216f
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 Apr 13, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.1.0 This release

2 release files

1.0.1

2 release files

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