Skip to main content

KUB command-line tools

kub-cli provides native Python commands for Ktirio Urban Building. Python 3.11 or newer is required. Simulations use a separately installed KUB solver or an Apptainer image; Feel++ Python bindings are not required.

Command Purpose
kub-dataset Download and manage location datasets and FMUs.
kub-simulate Preprocess meshes, run simulations and launch coupled participants locally or with Slurm.
kub-img Download and inspect Docker/Apptainer images.
kub-dashboard Browse datasets and simulation results; optional preview tool.

Installation

Install into a Python virtual environment. Version 0.12.0 introduces the native commands, replacing the older container wrapper.

python -m pip install --upgrade 'kub-cli>=0.12.1'

For the optional dashboard:

python -m pip install --upgrade 'kub-cli[dashboard]>=0.12.1'

A supplied wheel can also be installed with python -m pip install /path/to/kub_cli-VERSION-py3-none-any.whl. Use COMMAND --help for available options and COMMAND --version for the installed CLI version.

Download datasets and FMUs

kub-dataset pull arz --version 0.1.0
kub-dataset pull-simulator --version 0.20.0

Data are stored under cemdb/locations and cemdb/simulators by default. The --version option after a dataset subcommand selects the dataset version; CLI and solver releases share a major/minor compatibility line; patch versions can differ. Datasets and FMUs have their own versions.

Download an image and run a simulation

Replace IMAGE_TAG with the image version matching your MPI setup. Apptainer must be installed on the host.

kub-img pull oras://ghcr.io/feelpp/ktirio-urban-building:IMAGE_TAG-sif \
    --runtime apptainer --image ./kub.sif
kub-img info --runtime apptainer --image ./kub.sif

kub-simulate preprocess arz --version 0.1.0 --partitions 4 \
    --launcher local --runtime apptainer --apptainer-exec apptainer \
    --apptainer-image ./kub.sif
kub-simulate run arz --version 0.1.0 --np 4 \
    --launcher local --runtime apptainer --apptainer-exec apptainer \
    --apptainer-image ./kub.sif
kub-simulate status arz --version 0.1.0

For Slurm, select --launcher slurm and the site’s partition and resources. For an installed solver, use --runtime native --binary /path/to/feelpp_kub_cem. Use --config-file /path/to/case.cfg to select a different simulation CFG.

Launch coupled participants

A coupling plan lists each participant’s image, executable, MPI ranks, arguments and mounts, plus a new output directory for the run.

kub-simulate couple --plan /path/to/plan.json --launcher local --dry-run
kub-simulate couple --plan /path/to/plan.json --launcher local

Use --launcher slurm for cluster execution. That mode requires one node per participant, equal rank counts, and images and case files on shared storage.

Station replay

Use kub-cli 0.12.1 or newer with scripts/station-replay.sh from a KUB source checkout. The script is not installed by pip. Copy it to a writable working directory and run it there:

bash station-replay.sh

The script downloads the OpenMPI 5 KUB image, Wolfisheim v0.1.0 and FMUs v0.20.0, preprocesses the geometry, and launches KUB and StationReplay. Check completion.json, the participant logs, and station-ensight/station-replay.case in the printed run directory. Set mpi=mpich at the top of the script for the MPICH variant.

Apptainer solver commands default to TMPDIR=/tmp inside the image, so a host scratch directory need not exist inside the container. Override this with --apptainer-env TMPDIR=/your/container/path when needed. The host’s temporary directory for Apptainer image downloads is unchanged.

Browse results

With the dashboard extra installed:

kub-dashboard serve --cemdb-root ./cemdb --host 127.0.0.1 --port 8050

Open http://127.0.0.1:8050 in a browser. Use --host 0.0.0.0 when serving from another machine.

Full documentation: https://feelpp.github.io/ktirio-urban-building/.

License

GPL-3.0-or-later OR LicenseRef-Commercial. Imported kub-img utilities retain their Apache-2.0 license. See LICENSE and LICENSES/ for the terms.

Metadata

Release files for kub-cli 0.12.1

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

Source distribution (sdist)

Source distribution for kub-cli 0.12.1
File Size Uploaded Provenance
kub_cli-0.12.1.tar.gz 402.4 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for kub-cli 0.12.1
File Interpreter ABI Platform
kub_cli-0.12.1-py3-none-any.whl Python 3 none any Details

Total release size: 894.8 kB

Release files / kub_cli-0.12.1.tar.gz

Download URL kub_cli-0.12.1.tar.gz
Size 402.4 kB
Tags Source
SHA-256 checksum
How to use checksums
7ca5ed46722c0edfcbdc64472b133ddf2e61a58e50c2d03c631be5101fe2bfab
BLAKE2b-256 checksum
How to use checksums
7ade37221a4ad83435e3a4a8fb9d3804433d6389c4a1b03c0d9753e0272e8dc0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 24, 2026.

Transparency log

Release files / kub_cli-0.12.1-py3-none-any.whl

Download URL kub_cli-0.12.1-py3-none-any.whl
Size 492.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b4d68dfed394e4a9c2de69a231e2325346ff2235a078903c60e7294e4def6dfc
BLAKE2b-256 checksum
How to use checksums
e17139cd434041c9a1c4915718779f71571af641394ee69dc59d4c59684e7e3f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 24, 2026.

Transparency log

Security for kub-cli 0.12.1

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for kub_cli-0.12.1.tar.gz

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 Oct 24, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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