agentevo-sdk
Client SDK, agentevo CLI, and agent adapters (Claude Code, Codex) for
Agentevo — CI/CD for agent intelligence.
Run this in a project where you have used Claude Code. The first line installs
the agentevo CLI; pipx install agentevo-sdk works too (Python 3.10+). A bare
pip install is refused by macOS Homebrew and Debian/Ubuntu system Pythons
(PEP 668), so use it only inside a virtualenv. Every line is copy-safe (no ids to
paste between commands), and nothing below talks to the cloud:
uv tool install agentevo-sdk
agentevo capture --latest
agentevo compile --latest --tenant your-org --project web
agentevo verify --latest --local
agentevo promote --latest --to Verified --local
agentevo recall "fix flaky test" --capabilities Bash,Edit,Read
capture --latestcaptures the newest Claude Code session for the current directory. It reads$CLAUDE_CONFIG_DIR/projects, else~/.claude/projects. If no session exists for this directory, the error lists every folder it looked in. You can also pass files, one or many:agentevo capture <file.jsonl>, or--adapter codexfor Codex transcripts.compile --latestcompiles the session captured last.verify --latestandpromote --latest --to <Verified|Trusted>act on every object version that compile created, and each result lists them underacted_on. Re-running is safe: versions already in the requested state are listed underunchanged. The explicit forms keep working:agentevo verify <object-id> <version> --localandagentevo promote <object-id> <version> Verified --local.- Everything lands in the workspace
default(the one every console account starts with), in~/.agentevo/workspaces/default/vault.db.--workspace(orAGENTEVO_WORKSPACE) picks another workspace, with its own vault. A vault an earlier release kept at~/.agentevo/vault.dbkeeps working for the workspace it was created with (demowas the old default: pass--workspace demo). - Vault keys live in your OS keychain. On a machine without one (SSH boxes,
containers, CI), set
AGENTEVO_VAULT_KEYfirst, for exampleexport AGENTEVO_VAULT_KEY=$(openssl rand -hex 32), and keep it: the vault opens only with that key. Without either,capturestops and says so; no vault is written. recallreturns Verified and Trusted objects that share at least half of the query's words. It checks the object and the prompt of the session it came from. An unrelated query returns nothing plus a hint.--capabilitiesmust cover the tools a skill uses (recall reportsfiltered_by_capabilitiesand a hint otherwise).- Trusted needs 3 independent passing runs (5 for destructive skills). One run is never enough, however often it is re-verified.
- Global flags (
--workspace,--vault,--base-url,--key-provider,--device-id) go before the subcommand:agentevo --workspace acme capture --latest. Put one after it and the usage error prints the corrected command.
See what it saved you
agentevo report --json
report --json prints one JSON object (schema: agentevo.report/v1) built from
this workspace's vault audit log; plain agentevo report writes the same numbers
to an HTML file. Every number is labelled:
measured: counts Agentevo recorded. Sessions captured, secrets redacted before storage (redactions_stored, by detector), objects by state and type, time from the first capture to the first Verified skill, recalls served and the recall hit rate, sessions that reused a skill, guard decisions and repeat mistakes caught (a learned guard stopped the change it was learned from). A recall hit only means recall returned something; whether it helped shows inreuse.after_recall.definitionsspells out each measured number.estimated: a stated formula applied to measured counts, never presented as measured. Tool calls saved is, over reuse sessions that succeeded, max(0, tool calls of the session the skill was learned from minus tool calls of the reuse session). Active minutes saved is the same difference over active time (gaps of at most 10 minutes between events). Guard tool calls avoided is, per catch, the tool calls the guard's source session spent from the guarded change to the failure it caused. Each formula is repeated underestimated.formula.
compile records reuse and lists it under reused. A session reuses a skill
when it repeats the skill's edits and test runs in order (at least 2 of them,
covering at least 60%) after the skill reached Verified or a recall returned it,
or when it names the skill. To name it, run
agentevo recall "<task>" --use <object-id> before or during the session (up to
30 minutes before its first event), or put agentevo:use <object-id> in the
prompt. A skill never counts as reused by the session it was learned from.
Recall, guard, capture and compile write these audit entries locally and send nothing anywhere. They hold object ids, versions, states, decisions, counts, ranks and relevance scores, plus a keyed digest of the recall query. They never hold the query, prompts, commands, paths or tool output.
Raw data stays local by default. The cloud is opt-in:
agentevo login
agentevo sync mode --set searchable --terms-version 2026-09-21 --yes
agentevo sync push
agentevo recall "fix flaky test" --capabilities Bash,Edit,Read --cloud
login asks for a key from the console (API keys) and checks it against the
cloud before storing it in your OS keychain; set AGENTEVO_PAT instead to skip
the prompt (on a machine without an OS keychain, such as CI, the variable is all
the CLI needs and login only checks it). login reports "stored": true only
when the key reads back from the keychain; a keyring that keeps nothing (the
null backend) gets "stored": false and a note that AGENTEVO_PAT is the
key's source. The CLI talks to the hosted API,
https://api.agentevo.sh; point --base-url (or AGENTEVO_BASE_URL) at a
self-hosted server instead. sync push queues locally, and says so, when the
cloud is unreachable. Pushing from a second or fresh vault lists versions the
cloud already holds under already_present (exit 0). In a local_only
workspace (the default, or after an owner downgrades it) sync push sends
nothing and exits 1 with FORBIDDEN. The message names the exact consent command
to run, and details.consent_command holds it too. Reading the workspace's sync
mode is a billable request, so sync push and sync pull read it at most once
every 10 minutes and remember it in the vault (a local_only workspace is read
on every sync). sync mode --set makes the next sync read it again. The cloud
checks the mode on every push: when an owner changed it elsewhere, the cloud
refuses the push and stores nothing, and sync push reads the mode again and
pushes once more.
Objects pulled onto another machine arrive as Candidates, because trust never
transfers between machines. sync pull says so. recall withholds them, but
counts matching ones under withheld_pulled_candidates, lists them under
pulled_candidates, and gives the commands to run from your checkout:
agentevo verify <object-id> <version> --local --workdir . replays the object's
test command there, then agentevo promote <object-id> <version> --to Verified --local.
Without --workdir the verify is inconclusive and says why: the evidence stays
on the machine that pushed it.
Searchable sync sends sanitized step templates and fingerprints only. File
contents, diffs, command output, prompts and absolute paths stay on your machine.
Opaque Relay sends the full steps, end-to-end encrypted under a workspace key
the cloud never sees: create it once, on the first machine, with
agentevo sync key --init, and carry it to each other machine with
sync key --export FILE there and sync key --import FILE (machines that
share AGENTEVO_VAULT_KEY already share it). Sync identifies your
machine by a random device id that the vault creates once; your username and
hostname are never sent. --tenant your-org is only a label while you work
offline: sync push sends a workspace's objects to the tenant you are logged in
to and lists the ones it relabeled. Cloud rows show cloud_state. The managed
copy reaches Trusted only with independent evidence from a device. One run is
never enough for Trusted. See agentevo.sh for more.
License
Apache License 2.0 — see the LICENSE file shipped with this package.
Metadata
Release files for agentevo-sdk 0.1.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| agentevo_sdk-0.1.8.tar.gz | 150.0 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agentevo_sdk-0.1.8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 214.4 kB
Release files / agentevo_sdk-0.1.8.tar.gz
| Download URL | agentevo_sdk-0.1.8.tar.gz |
|---|---|
| Size | 150.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
81964fe8cf31b0f069e5e209312c8048969b342aabcd9f0bb5439d122acf5898
|
|
BLAKE2b-256 checksum How to use checksums |
04474e55c61e6063b63c4781af45ee06a437e1d6cec93c2cbc8ac04e6528c7e2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / agentevo_sdk-0.1.8-py3-none-any.whl
| Download URL | agentevo_sdk-0.1.8-py3-none-any.whl |
|---|---|
| Size | 64.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2761dd2be387cbb7827aa7e6eb8a74c67db9b467b3b084c659a30c85f2940224
|
|
BLAKE2b-256 checksum How to use checksums |
2e4e3107def0b79261668331b5e220d22164d998e559b872dfe91da0d750a244
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.6 {"installer":{"name":"uv","version":"0.11.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for agentevo-sdk 0.1.8
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.