Develop ibek#

Work on the Python CLI and renderer in this repository. EPICS module recipes and their entity definitions normally belong in ibek-support.

From a checkout, with Python 3.13 or newer and uv available:

uv sync
uv run ibek --help
uv run tox -p

tox -p runs formatting and lint checks, type checking, tests and the Sphinx build. For a focused change:

uv run pytest tests/test_runtime.py
uv run tox -e docs

Tests under tests/ include sample support YAML, instance YAML and expected rendered files in tests/samples/. When changing rendering behavior, check the resulting startup script and substitution file, and add a regression test for the behavior being changed. The Python suite does not replace running a real IOC when changing EPICS integration.

The implementation path is described in files and lifecycle. Report bugs and propose changes through GitHub issues; include the ibek version, command, relevant YAML and expected output.