Library for input/output of transition systems in a unified Markov binary (UMB) format.
(optional) create and activate a python environment:
python -m venv .venv
source .venv/bin/activateInstall umbi via
pip install umbiExamples:
umbi --import-umb /path/to/input.umb
umbi --import-umb /path/to/input.umb --export-umb /path/to/output.umb
umbi --import-umb /path/to/input.umb --export-umb /path/to/output.umb --log-level=DEBUGInstall development dependencies:
pip install .[dev]Pre-commit hooks automatically run code quality checks before each commit. Configuration: .pre-commit-config.yaml
Set up the hooks with:
pre-commit installRun hooks manually on all files:
pre-commit run --all-filesIndividual tools can be run manually:
Ruff -- Code formatting and linting. Config: pyproject.toml ([tool.ruff])
ruff check . # check for issues
ruff format . # format code
ruff check . --fix # check and fixPyright -- Static type checking. Config: pyproject.toml ([tool.pyright])
pyright # check entire project
pyright umbi/ # check specific directoryDependencies are pinned in the uv.lock lockfile for reproducible builds. The lockfile is automatically updated via pre-commit hooks when pyproject.toml changes. To update manually:
uv lock