Install & extras¶
Verel keeps the base wheel light and puts every heavy dependency behind an extra that's lazy-imported only when you use that feature. Install just what you need.
pip install verel # core: the verdict bus + graders that need no extra deps
- Requires Python ≥ 3.10. The only base dependency is
pydantic>=2. - Everything below is
pip install "verel[<extra>]"(combine them:pip install "verel[dev,telecom]").
The extras¶
| Extra | Pulls in | Use it for |
|---|---|---|
dev |
pytest · pytest-asyncio · ruff · mypy · bandit | The pre-merge CI gate — the test / type / lint / security graders. |
sight |
agentvision[render,motion] |
The eyes — visual gating of rendered UIs, plus local motion media (video files + animated GIFs) graded over time and the temporal watch. |
hearing |
audel[asr] |
The ears — audio/voice grading (DSP grounding + local ASR). |
attest |
pynacl |
ed25519 publicly-verifiable receipts. HMAC receipts work without it. |
container |
pyseccomp |
The seccomp-bpf syscall filter for the bwrap container runner. |
mcp |
mcp · anyio |
Expose Verel over the Model Context Protocol (verel-mcp). |
operator |
kopf · kubernetes |
The Kubernetes operator reconciling the Verel CRDs (verel-operator). |
iac |
pyyaml |
IaC / cloud-IAM graders (Terraform plan + RBAC). Shells out to external binaries — terraform/tofu, trivy, tflint, checkov, conftest, kube-score, … (not pip deps; verel doctor probes them). |
telecom |
pyyaml · defusedxml |
The 5G RAN/Core KPI + config-invariant graders (defusedxml hardens PM-XML / NETCONF against XXE). |
telecom-actuator |
ncclient |
Only the live NETCONF apply path of verel-ci telecom-apply. The offline planner/dry-run needs none of it. |
mem0 |
mem0ai · chromadb |
The Mem0 conversational-memory adapter. |
postgres |
psycopg · pgvector |
An external multi-machine brain (Postgres + pgvector ANN recall). |
lancedb |
lancedb |
An embedded vector store — zero-infra ANN recall. |
redis |
redis |
A networked shared brain (atomic optimistic-concurrency over Redis). |
Things worth knowing¶
banditis load-bearing, not optional-in-spirit. The pre-mergesecuritygrader fails closed if bandit isn't installed — it won't silently skip. That's why it lives indev, which the gate assumes.attestunlocks cross-domain verification. Receipts are HMAC-SHA256 by default (a shared secret within one trust domain). Installattestto sign/verify ed25519 receipts a second party can check with only your public key. Without PyNaCl, an ed25519 verification fails closed (never a silent green) — see the trust model.iacdoesn't bundle the tools it drives. It ships one Python dep (pyyaml); the actual scanners (terraform, trivy, checkov, …) are external binaries you install separately.verel doctorreports which are present; a required grader whose tool is absent fails the gate closed.- Telecom is split on purpose.
telecom(plan / grade / dry-run) is fully offline and needs no network.telecom-actuatoradds only the live NETCONF session (ncclient) — so a CI job that just grades or dry-runs a change never takes that dependency. - Memory backends are pluggable.
local(SQLite, built in) needs nothing;postgres/lancedb/redisregister via entry points and activate when their extra is installed.
Command-line entry points¶
| Command | What it is |
|---|---|
verel |
The agent CLI — verel doctor, verel heal, verel verify, … |
verel-ci |
The CI gate — verel-ci check, telecom, telecom-cfg, iac, … |
verel-mcp |
The MCP server (needs [mcp]). |
verel-operator |
The Kubernetes operator (needs [operator]). |
Run verel doctor after any install to see exactly what's wired and what's missing.