Install the current runtime:
pip install "urirun>=0.4.190"The installed CLI and Python import namespace are both urirun.
The connector hub can install urirun plus selected connector packages:
curl -fsSL 'https://connect.ifuri.com/install?connectors=http-check,time-tools' | bashTo inspect the same connector install command without executing pip, use the
runtime catalog command:
urirun connectors install http-checkFor a virtualenv:
python3 -m venv .venv
PYTHON_BIN="$PWD/.venv/bin/python" \
bash -c "curl -fsSL 'https://connect.ifuri.com/install?connectors=http-check' | bash"
PATH="$PWD/.venv/bin:$PATH" urirun-http-check status https://ifuri.com --expect-status 200More connector details: Connectors.
Scan a project and compile a runtime registry in one command:
urirun scan ./project \
--out generated/bindings.v2.json \
--registry-out generated/registry.jsonThe scanner can read explicit binding files, Dockerfile labels, package scripts, Python entry points, Makefile targets, and shell scripts.
urirun validate generated/bindings.v2.json
urirun list generated/registry.jsonDry-run is the default for command-like routes:
urirun run 'cli://local/git/status' --registry generated/registry.jsonFor real execution, use a policy file and the --execute flag:
urirun run 'cli://local/git/status' \
--registry generated/registry.json \
--policy policy.json \
--allow 'cli://local/**' \
--executeKeep shell templates behind an explicit policy with allowShellTemplates: true.
After installing http-check, build its bindings and execute the URI:
python - <<'PY' > bindings.json
import json
from urirun_connector_http_check import urirun_bindings
print(json.dumps(urirun_bindings(), indent=2))
PY
urirun validate bindings.json
urirun compile bindings.json --out registry.json
urirun run 'httpcheck://host/http/query/status' registry.json \
--payload '{"url":"https://ifuri.com","expectStatus":200,"timeout":10}' \
--execute \
--allow 'httpcheck://host/*'After installing time-tools, build its bindings and execute the URI:
python - <<'PY' > bindings.json
import json
from urirun_connector_time_tools import urirun_bindings
print(json.dumps(urirun_bindings(), indent=2))
PY
urirun validate bindings.json
urirun compile bindings.json --out registry.json
urirun run 'time://host/clock/query/now' registry.json \
--payload '{"timezone":"UTC","output":"iso"}' \
--execute \
--allow 'time://host/*'