Getting started
From install to your first executed URI in four steps. The urirun
CLI and the Python import namespace are both urirun.
1. Install
Directly from GitHub:
pip install "git+https://github.com/tellmesh/urirun.git@main#subdirectory=adapters/python"
Inside the IFURI app urirun is available out of the box — see the
ifuri-app urirun-* commands.
2. Generate a registry
Scan a project and compile a runtime registry in one command. The scanner reads explicit binding files, Dockerfile labels, package scripts, Python entry points, Makefile targets and shell scripts.
urirun scan ./project \
--out generated/bindings.v2.json \
--registry-out generated/registry.json
3. Inspect routes
urirun validate generated/bindings.v2.json
urirun list generated/registry.json
4. Run a URI
Dry-run is the default for command-like routes (zero risk — it shows what would run):
urirun run 'cli://local/git/status' --registry generated/registry.json
Real execution needs a policy file and the --execute flag:
urirun run 'cli://local/git/status' \
--registry generated/registry.json \
--policy policy.json \
--allow 'cli://local/**' \
--execute
Keep shell templates behind an explicit policy with allowShellTemplates: true. This is
the safer path instead of hand-assembling shell commands (urisys): the URI address
stays stable and the payload is schema-validated.