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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| kub_cli-0.12.1.tar.gz | 402.4 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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 logSecurity 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.
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 logA 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.