Skip to main content

agentoven

Python SDK for AgentOven — the enterprise agent control plane.

Built with native Rust performance via PyO3.

Install

pip install agentoven

Quick Start

from agentoven import AgentOvenClient, Agent

# Connect to the control plane
client = AgentOvenClient(url="http://localhost:8080")

# Register an agent
agent = Agent(name="my-assistant", description="A helpful AI assistant")
result = client.register_agent(agent)
print(result)

# List all agents
agents = client.list_agents()
for a in agents:
    print(a)

# Deploy an agent
client.bake("my-assistant")

# Pause an agent
client.cool("my-assistant")

Features

  • Native performance — Rust core compiled to a Python extension
  • A2A protocol — built on the Agent-to-Agent open standard
  • Multi-framework — works with LangGraph, CrewAI, AutoGen, and more
  • Kitchen isolation — workspace-based multi-tenancy

License

MIT

Recipes

Build a recipe the way the dashboard's recipe builder does, check it, create it, run it and answer its approvals. The steps written are the same as the dashboard writes, so the recipe opens there too. Plain Python: no native module is needed to build one.

from agentoven import AgentOvenClient, Flow
from agentoven.flow import agent, ask, check, decide, mentions, together

flow = Flow("refund-review", "Triage a ticket, ask a person about refunds", [
    agent("Triage", "triage-agent"),
    decide("Needs a person?", mentions("refund", "chargeback"),
        yes=[ask("Approve the refund", within="1 day",
                 approved=[agent("Issue the refund", "refunder")],
                 rejected=[agent("Explain the decision", "writer")])],
        no=[together([agent("Reply", "writer")], [check("Tone check", "reviewer")])]),
    agent("Log the outcome", "logger"),
])

client = AgentOvenClient("http://localhost:8080", api_key="...")
client.create_recipe(flow, check_agents=True)          # a FlowError lists every problem first
run = client.run_recipe("refund-review", {"text": "I want a refund"})
state = client.wait_for_recipe_run("refund-review", run["run_id"])   # returns at a gate, or when finished
if state["status"] == "paused":
    client.reject_gate(run["run_id"], state["pending_gates"][0], "The tone is too casual")

Builders: agent, check, lookup, decide, ask, together, wait, notify, sub_recipe, each, and mentions for a condition. A notify step pushes to a live-feed channel that client.listen("channel") reads (pip install "agentoven[realtime]"). Also Flow.add, Flow.validate, Flow.to_wire, update_recipe, delete_recipe, list_recipe_runs and approve_gate.

Realtime voice (Pro)

# pip install "agentoven[realtime]"
async with client.realtime("support-agent", voice="marin") as call:
    await call.send_audio(pcm_chunk)      # PCM16, 24 kHz, mono
    async for event in call:
        if event.type == "audio":
            speaker.write(event.audio)    # raw PCM16 bytes
        elif event.type == "transcript" and event.final:
            print(event.role, event.text)

The agent always runs on its own provider, which must offer the realtime modality. If the agent's input guardrails block what the caller said, you get an error event and then iterating raises RealtimeError (close code 1008) with the reason; call.close_code / call.close_reason are set once the call ends.

Browsers cannot set headers on a WebSocket: see "Realtime in a browser" below.

Modalities

A modality is something an agent can take in or give out beyond text: image, pdf, video, audio (cascaded voice: speech-to-text in, text-to-speech out) and realtime (live speech-to-speech). Modalities belong to the provider: an agent has exactly the modalities of its own provider. Text is always on and has no entry. You do not have to set anything: defaults come from the provider driver and the model catalog.

Enable or disable modalities on a provider

from agentoven import AgentOvenClient, Modalities, AudioConfig, RealtimeConfig, CLEAR

client = AgentOvenClient(url="http://localhost:8080", api_key="...")

client.create_provider(
    "openai", "openai", api_key="sk-...", models=["gpt-4o"],
    modalities=Modalities(
        pdf=False,                                    # switch PDF input off
        video=True,                                   # widen for a gateway the catalog doesn't know
        audio=AudioConfig(stt_model="whisper-1", tts_model="tts-1"),
        realtime=RealtimeConfig(enabled=True, model="gpt-realtime"),
    ),
)

# Updates are merged per modality. CLEAR deletes a key (or a whole modality)
# and puts it back on its default.
client.update_provider("openai", modalities=Modalities(pdf=CLEAR, audio=AudioConfig(tts_model="tts-1-hd")))

provider = client.get_provider("openai")
print(provider.modalities)          # effective: ['text', 'image', 'audio', ...]
print(provider.supports("audio"))

The same rules the server enforces are checked before the request is sent (unknown modality, an entry for text, unknown settings, wrong types) and raise ModalitiesError. audio and realtime cannot be enabled beyond what the provider kind supports; the server answers 400 (AgentOvenAPIError).

Check what an agent can do

card = client.agent_card("support-agent")
print(card.modalities)              # e.g. ['text', 'image', 'audio', 'realtime']
if card.supports("audio"):
    ...
client.supports("support-agent", "pdf")   # shorthand

Send an image or PDF

from agentoven import Attachment

session = client.create_agent_session("vision-agent")
reply = client.send_session_message(
    "vision-agent", session["id"], "Summarise these.",
    attachments=[
        Attachment.from_path("chart.png"),                       # MIME type inferred
        Attachment.from_path("report.pdf"),
        Attachment.from_url("https://example.com/photo.jpg"),
        Attachment.from_bytes(raw_bytes, mime_type="image/webp"),
    ],
)
print(reply["content"])

Audio and video attachments work the same way. Audio is transcribed by the server first, so any agent whose provider offers audio can take it.

Cascaded voice

from agentoven import AudioModalityError

try:
    result = client.invoke(
        "support-agent",
        audio="question.wav",        # path, Path, bytes, or AudioInput.from_base64(...)
        voice_output=True,
        voice="alloy",
    )
except AudioModalityError:
    print("this agent's provider does not offer the audio modality")
else:
    print(result.transcript)         # what the agent heard
    print(result.response)           # its text reply
    result.save_audio("answer")      # decoded bytes in result.audio.data -> answer.mp3

Realtime (live speech-to-speech)

Server-side, with your API key (needs pip install "agentoven[realtime]"):

async with client.realtime("support-agent", voice="marin") as call:
    await call.send_audio(pcm_chunk)
    async for event in call:
        ...

Realtime in a browser

Browsers cannot set headers on a WebSocket. Your backend mints a short-lived token (bound to the agent and kitchen, checked only when the socket opens) and gives it to the page:

minted = client.realtime_token("support-agent", ttl_seconds=60)   # 1-300
return {"token": minted.token, "expires_in": minted.expires_in}   # your endpoint

The page opens the socket with the WebSocket subprotocols ["agentoven.v1", "agentoven-token.<token>"] (the TypeScript SDK does this with connectRealtime({ token })). From Python the same flow, with no auth headers:

async with AgentOvenClient(url="http://localhost:8080").realtime("support-agent", token=minted.token) as call:
    ...

Roles

restaurateur (platform-wide, a role of a person in the user directory) and, inside a kitchen, head_chef, chef, baker, taster, auditor, legal, finance and viewer (KITCHEN_ROLES, PERSON_ROLES). The retired admin is refused wherever a role is given (create_user, create_service_account, create_kitchen_binding, set_approver_policy): it was a Head Chef inside a kitchen and a Restaurateur across the installation.

Agent versions

An agent's version moves only on a bake whose configuration differs from the last bake's. The first bake keeps the registered version (0.1.0), a bake that changes nothing keeps its version, a changed one takes the next minor version and keeps the old one, and editing a registered agent does not bump it.

client.list_agent_versions("support-agent")          # [{"version": "0.1.0", ...}, {"version": "0.2.0", ...}]
client.get_agent_version("support-agent", "0.1.0")   # the agent as it was when that version was baked

Signed decisions (Pro)

A decision at a gate is signed: you prove who you are again and get a single-use token bound to exactly that decision, sent in the X-Signing-Token header (SIGNING_TOKEN_HEADER). sign does both steps with the password of your local account; an account that signs in through an identity provider gets OidcSigningRequired (sign in the dashboard instead). Every method that takes a decision accepts password= (it signs for you) or signing_token=.

token = client.sign("legal_hold_release", "dataset:ds-1", "approved", {"reason": "case closed"}, password)
client.lift_dataset_legal_hold("ds-1", "case closed", signing_token=token)    # or: password=password

client.run_recipe("refunds", {"order": 7}, environment="prod", password=password)   # gate approval_skip
client.signed_request("POST", "/api/v1/promotions", body, signing_token=token)      # any other gate

Two gates came with the roles: legal_hold_release (a dataset's or the audit trail's legal hold, record id dataset:<id> or audit:<kitchen>, payload {"reason"}) and approval_skip (running a recipe on an environment that requires approval, record id <recipe>@<environment>, payload {"input"}). Also: list_signatures, get_signature, verify_signatures, get_approver_policy, set_approver_policy.

Replay (Pro)

out = client.replay_call(trace_id, span_id, [{"label": "cooler", "edits": {"temperature": 0.1}}], reason="why")
run = client.replay_run(trace_id, from_span, {"model": "claude-haiku"})                 # tools frozen
run = client.replay_run(trace_id, from_span, tools="live", live_tools=["lookup"], password=password)   # signed
capture = client.get_span_capture(trace_id, span_id)

A replay is an investigation, never evidence: models are not deterministic, and no simulated tool result is ever made up. prepare_live_replay returns what a live replay signs, computed by the server.

Governed datasets (Pro)

list_datasets, create_dataset, get_dataset, update_dataset, add_dataset_case, add_dataset_case_from_trace, list_dataset_cases, retire_dataset_case, erase_dataset_case, publish_dataset, list_dataset_versions, get_dataset_version, verify_dataset_version, export_dataset, lower_dataset_minimum, place_dataset_legal_hold, lift_dataset_legal_hold, purge_dataset, list_expiring_datasets, list_dataset_reviews, list_dataset_tombstones, and place_audit_legal_hold / lift_audit_legal_hold. On a regulated dataset publishing, purging and lowering the minimum are signed (password= or signing_token=).

Identity-provider bindings and credential owners (Pro)

list_kitchen_bindings, create_kitchen_binding(kitchen_id, claim_value, role), delete_kitchen_binding, set_service_account_owner, set_scoped_key_owner, my_kitchens. A service account or scoped key belongs to a person (owner_email= when it is created); when the owner leaves the kitchen it stops until a Head Chef gives it to someone.

Budgets, rate limits and the response cache (Pro)

client.set_budget(500, period="monthly")                                    # the kitchen, dollars
client.set_budget(2_000_000, unit="tokens", agent="triage", period="daily")  # one agent (or provider=, api_key=)
client.set_budget(800, period="monthly", password=pw)                        # a raise is a signed decision (gate budget_raise)
client.list_budgets(); client.list_budget_ledger(); client.list_budget_alerts(); client.budget_usage("agent", days=7)
client.remove_budget(agent="triage", unit="tokens", password=pw)

client.set_limit("agent", "triage", requests_per_minute=60, tokens_per_minute=200_000)   # "*" for each on its own
client.list_limits(); client.remove_limit("agent", "triage")

client.set_cache_policy("always", agent="faq-bot", ttl_seconds=900)
client.get_cache(); client.purge_cache("faq-bot"); client.remove_cache_policy("faq-bot")

RateLimitedError (HTTP 429: retry_after from Retry-After, scope, limit) and BudgetExceededError (HTTP 402: scope, unit, period, resets_at) are AgentOvenAPIErrors; the SDK does not retry for you. Lowering a budget or creating one needs no signature; raising or removing one needs password= or signing_token= (record id from budget_record_id). See docs/budgets-limits-cache.md.

Checking a configuration against the kitchen

An agent names a provider, a model, a summarizer (compaction) model, skills, tools, prompts and subagents; a recipe names agents, steps, channels, credentials, environments. The control plane refuses a write or a bake that names something the kitchen does not have, with HTTP 422 and the list of every problem, each with the field, the bad value and the nearest valid ones. The SDK raises it as ConfigurationError (an AgentOvenAPIError) with .problems and .warnings (lists of agentoven.refcheck.Problem: path, code, severity, kind, value, within, suggestions).

from agentoven import AgentBuilder, AgentOvenClient, ConfigurationError

spec = (AgentBuilder("support-bot")
        .model("anthropic", "claude-sonnet-4-5")
        .summary_model("anthropic", "claude-hiku-4-5")      # the compaction model; a typo
        .skills("pdf-reader"))
try:
    client.create_agent(spec, validate=True)                # checked here first; nothing is sent when it fails
except ConfigurationError as e:
    for p in e.problems:
        print(p.path, p.value, p.suggestions)               # summary_model claude-hiku-4-5 ['claude-haiku-4-5']

validate=True (on register, create_agent, update_agent, bake, create_recipe, update_recipe, run_recipe, bake_recipe) runs the same rules before sending, against the lists the client reads (client.load_catalog()). It is off by default and the server stays the authority: it checks again whatever the client did. A list you may not read (403, 404, a Pro-only route) is left unchecked, never treated as empty; scenarios are checked only where the server lists them, and recipe approver roles are not checked from the SDK. A warning (a disabled optional tool, a provider whose last test failed, a model id an OpenRouter, LiteLLM or Ollama provider does not list) never refuses a write. No authentication is needed beyond what the server already asks for.

Without sending anything: client.validate_agent(agent_or_dict_or_builder) and client.validate_recipe(recipe) return the problems (errors and warnings; agentoven.refcheck.split separates them), client.agent_validate(name) and client.recipe_validate(name) ask the server about a stored agent or recipe as its next bake would judge it, and agentoven.refcheck.check_agent / check_recipe / nearest are the pure functions (they run the cases in sdk/fixtures/refcheck-cases.json, as the Go implementation, the TypeScript SDK and the Rust client do).

Timeouts, redirects and the route contract

A request gives up after 120 seconds (an invocation waits for a model): AgentOvenClient(timeout=30), or AGENTOVEN_TIMEOUT=30 in the environment. A redirect is refused with an AgentOvenAPIError that names the new location (Python's urllib would send your API key to it); use that URL as the server URL. Ids and names are escaped as one path segment, so a name such as ../../x cannot choose another route.

register / register_agent brings a retired agent (one that was deleted) back with the same name and id: it creates when the agent is absent or retired and updates when it is live. There is no delete_world_schema: the server has no such route.

tests/test_route_contract.py reads every call the client makes and checks its verb and path against sdk/fixtures/server-routes.json, the server's route list generated from its router (Pro repository: UPDATE_SDK_ROUTES=1 go test ./internal/routeguard -run SDKRoute). A method for a route the server does not have fails the build.

Metadata

Release files for agentoven 0.9.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for agentoven 0.9.6
File Size Uploaded Provenance Actions
agentoven-0.9.6.tar.gz 262.6 kB Without provenance Details for agentoven-0.9.6.tar.gz

Built distributions (wheels)

Table of built distributions (wheels) for agentoven 0.9.6
File Actions
agentoven-0.9.6-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details for agentoven-0.9.6-cp313-cp313-win_amd64.whl
agentoven-0.9.6-cp313-cp313-musllinux_1_2_x86_64.whl CPython 3.13 CPython 3.13 Linux musl 1.2+ x86-64 Details for agentoven-0.9.6-cp313-cp313-musllinux_1_2_x86_64.whl
agentoven-0.9.6-cp313-cp313-manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64 Details for agentoven-0.9.6-cp313-cp313-manylinux_2_28_aarch64.whl
agentoven-0.9.6-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details for agentoven-0.9.6-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
agentoven-0.9.6-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details for agentoven-0.9.6-cp313-cp313-macosx_11_0_arm64.whl
agentoven-0.9.6-cp313-cp313-macosx_10_12_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.12+ x86-64 Details for agentoven-0.9.6-cp313-cp313-macosx_10_12_x86_64.whl
agentoven-0.9.6-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details for agentoven-0.9.6-cp312-cp312-win_amd64.whl
agentoven-0.9.6-cp312-cp312-musllinux_1_2_x86_64.whl CPython 3.12 CPython 3.12 Linux musl 1.2+ x86-64 Details for agentoven-0.9.6-cp312-cp312-musllinux_1_2_x86_64.whl
agentoven-0.9.6-cp312-cp312-manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64 Details for agentoven-0.9.6-cp312-cp312-manylinux_2_28_aarch64.whl
agentoven-0.9.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details for agentoven-0.9.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
agentoven-0.9.6-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details for agentoven-0.9.6-cp312-cp312-macosx_11_0_arm64.whl
agentoven-0.9.6-cp312-cp312-macosx_10_12_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.12+ x86-64 Details for agentoven-0.9.6-cp312-cp312-macosx_10_12_x86_64.whl
agentoven-0.9.6-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details for agentoven-0.9.6-cp311-cp311-win_amd64.whl
agentoven-0.9.6-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details for agentoven-0.9.6-cp311-cp311-musllinux_1_2_x86_64.whl
agentoven-0.9.6-cp311-cp311-manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64 Details for agentoven-0.9.6-cp311-cp311-manylinux_2_28_aarch64.whl
agentoven-0.9.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details for agentoven-0.9.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
agentoven-0.9.6-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details for agentoven-0.9.6-cp311-cp311-macosx_11_0_arm64.whl
agentoven-0.9.6-cp311-cp311-macosx_10_12_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.12+ x86-64 Details for agentoven-0.9.6-cp311-cp311-macosx_10_12_x86_64.whl
agentoven-0.9.6-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details for agentoven-0.9.6-cp310-cp310-win_amd64.whl
agentoven-0.9.6-cp310-cp310-musllinux_1_2_x86_64.whl CPython 3.10 CPython 3.10 Linux musl 1.2+ x86-64 Details for agentoven-0.9.6-cp310-cp310-musllinux_1_2_x86_64.whl
agentoven-0.9.6-cp310-cp310-manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64 Details for agentoven-0.9.6-cp310-cp310-manylinux_2_28_aarch64.whl
agentoven-0.9.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details for agentoven-0.9.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
agentoven-0.9.6-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details for agentoven-0.9.6-cp310-cp310-macosx_11_0_arm64.whl
agentoven-0.9.6-cp310-cp310-macosx_10_12_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.12+ x86-64 Details for agentoven-0.9.6-cp310-cp310-macosx_10_12_x86_64.whl
agentoven-0.9.6-cp39-cp39-win_amd64.whl CPython 3.9 CPython 3.9 Windows x86-64 Details for agentoven-0.9.6-cp39-cp39-win_amd64.whl
agentoven-0.9.6-cp39-cp39-musllinux_1_2_x86_64.whl CPython 3.9 CPython 3.9 Linux musl 1.2+ x86-64 Details for agentoven-0.9.6-cp39-cp39-musllinux_1_2_x86_64.whl
agentoven-0.9.6-cp39-cp39-manylinux_2_28_aarch64.whl CPython 3.9 CPython 3.9 Linux glibc 2.28+ ARM64 Details for agentoven-0.9.6-cp39-cp39-manylinux_2_28_aarch64.whl
agentoven-0.9.6-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details for agentoven-0.9.6-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
agentoven-0.9.6-cp39-cp39-macosx_11_0_arm64.whl CPython 3.9 CPython 3.9 macOS 11.0+ ARM64 Details for agentoven-0.9.6-cp39-cp39-macosx_11_0_arm64.whl
agentoven-0.9.6-cp39-cp39-macosx_10_12_x86_64.whl CPython 3.9 CPython 3.9 macOS 10.12+ x86-64 Details for agentoven-0.9.6-cp39-cp39-macosx_10_12_x86_64.whl

Total release size: 53.9 MB

Release files / agentoven-0.9.6.tar.gz

Download URL agentoven-0.9.6.tar.gz
Size 262.6 kB
Tags Source
SHA-256 checksum
How to use checksums
60a7807fee0af3132d87b60b9db41aee587c4b242282993706d669149c73092d
BLAKE2b-256 checksum
How to use checksums
e03a1e431f900a58045e3cab0ea9ecc5a049d3f021e43c728fcad78950910d12
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / agentoven-0.9.6-cp313-cp313-win_amd64.whl

Download URL agentoven-0.9.6-cp313-cp313-win_amd64.whl
Size 1.7 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
9fbc0178c80dc017577a9a2dd0fd39976872af1d89787ce13441f48c0ebc79ad
BLAKE2b-256 checksum
How to use checksums
6b9ad1512312a42a5c618eedae6ff65967aa8d75daa05ed95f8a0b7311477004
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / agentoven-0.9.6-cp313-cp313-musllinux_1_2_x86_64.whl

Download URL agentoven-0.9.6-cp313-cp313-musllinux_1_2_x86_64.whl
Size 2.1 MB
Tags CPython 3.13 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
f29ef912766d818483f6c57bcc7acacb4dee8c73c02d1618cb5bf3a7d993d42c
BLAKE2b-256 checksum
How to use checksums
0afd302caefd37c4c902bff02f0a319adef42979457233ddc5b20a9a5571d256
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / agentoven-0.9.6-cp313-cp313-manylinux_2_28_aarch64.whl

Download URL agentoven-0.9.6-cp313-cp313-manylinux_2_28_aarch64.whl
Size 1.8 MB
Tags CPython 3.13 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
f4f3bb547a7d3fec6ed2328528f7d5ea3b7f16ec46652ae5570dce4a13fc940f
BLAKE2b-256 checksum
How to use checksums
f9be844b867fa76fda73bd2c36b8da0cefe4bd7c5fac2a64ccaa7970a64748cf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / agentoven-0.9.6-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL agentoven-0.9.6-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 1.8 MB
Tags CPython 3.13 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
1b7c0bf8a8654793b39463d06fea21cbb172ebe8f23d4487f1d6f33487bc71e9
BLAKE2b-256 checksum
How to use checksums
0843fd12bee8ad49bd0ceae18e93327663db33b0215aa06fd2fbb90d6c988058
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / agentoven-0.9.6-cp313-cp313-macosx_11_0_arm64.whl

Download URL agentoven-0.9.6-cp313-cp313-macosx_11_0_arm64.whl
Size 1.6 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
785b93dab054f6328e899adda8af20203a343c0237daafb51b3d31e5787eb973
BLAKE2b-256 checksum
How to use checksums
b9fdac2f9b37434f5112a78f3cc962e7d50e15f5df962fa36bace5642b01fe43
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / agentoven-0.9.6-cp313-cp313-macosx_10_12_x86_64.whl

Download URL agentoven-0.9.6-cp313-cp313-macosx_10_12_x86_64.whl
Size 1.7 MB
Tags CPython 3.13 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
14a4a3a6095f0763eca8ac107418a7c44e648c070162c0ada6974cce8fd696dd
BLAKE2b-256 checksum
How to use checksums
6830d97c93c80b9b14a4c22636e49e3a852d77530ae7ef061490339b889dc653
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / agentoven-0.9.6-cp312-cp312-win_amd64.whl

Download URL agentoven-0.9.6-cp312-cp312-win_amd64.whl
Size 1.7 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
a6eb6f70a8fd939613cdadaf67f6f374a2abf721c877484105b3c7ef00d0dc39
BLAKE2b-256 checksum
How to use checksums
802e53e28786da4f05ed45f59ef597655fb1cd473b83ac14ee58c4d2b9421683
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / agentoven-0.9.6-cp312-cp312-musllinux_1_2_x86_64.whl

Download URL agentoven-0.9.6-cp312-cp312-musllinux_1_2_x86_64.whl
Size 2.1 MB
Tags CPython 3.12 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
ea7f2df87235ba2246e92a1b08eb092b2fb53dc3a76f566ce7b8c2302aa6af1f
BLAKE2b-256 checksum
How to use checksums
34d442b20cd4a02bca1f75418c51b75fe6fbe0e3cd5905a176e6b383e9083ed0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / agentoven-0.9.6-cp312-cp312-manylinux_2_28_aarch64.whl

Download URL agentoven-0.9.6-cp312-cp312-manylinux_2_28_aarch64.whl
Size 1.8 MB
Tags CPython 3.12 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
8842d0dcdbd7172fa7ecf5420e440b6c5ee4556b20f1e50be4f8c26472a7e7f7
BLAKE2b-256 checksum
How to use checksums
51398b71c086006e41bf9ec71e552aa15c5d1b381f56ae588fd1f8abbf8e985f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / agentoven-0.9.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL agentoven-0.9.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 1.8 MB
Tags CPython 3.12 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
e6ab597c104522d20fb23d75dc5a3e9ceccadec7db95dcd08e3472aa13373866
BLAKE2b-256 checksum
How to use checksums
dfaa544be177303188f2b06188e9a98bc90a5188f369f67258a829b26ba1b129
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / agentoven-0.9.6-cp312-cp312-macosx_11_0_arm64.whl

Download URL agentoven-0.9.6-cp312-cp312-macosx_11_0_arm64.whl
Size 1.6 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
50baf73072a7a7a2197c78e4e2ecb144b5e2f993a94a3716c810ea33538552d7
BLAKE2b-256 checksum
How to use checksums
8efb6d0840d6fe4cf8984f8d0bb697e5e80609515edd27c6a9c0dfb253c905be
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / agentoven-0.9.6-cp312-cp312-macosx_10_12_x86_64.whl

Download URL agentoven-0.9.6-cp312-cp312-macosx_10_12_x86_64.whl
Size 1.7 MB
Tags CPython 3.12 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
4f318e16463dc2bc3a2a4007760cc9770edbf5e62a07e67013165124155e67ce
BLAKE2b-256 checksum
How to use checksums
488b907efd742502391bd0e324213623544bcb0e558867818b7914ba43137985
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / agentoven-0.9.6-cp311-cp311-win_amd64.whl

Download URL agentoven-0.9.6-cp311-cp311-win_amd64.whl
Size 1.7 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
fbcb803aa45e510787dc8b6aff46dc136c17646746913c3aa769f9d11000622f
BLAKE2b-256 checksum
How to use checksums
982abb4370d35760dff5cf8a8d0595e4378b1e50d1b5e2addccf914f63d95329
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / agentoven-0.9.6-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL agentoven-0.9.6-cp311-cp311-musllinux_1_2_x86_64.whl
Size 2.1 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
f3e85828436191c32a4cca3b0dbf18637c77c548c6d183119e70d06b6182af09
BLAKE2b-256 checksum
How to use checksums
7e1a617cfaf5d0e75313dc7ca79511a88324ec0f540587b3ded4c94338be4be3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / agentoven-0.9.6-cp311-cp311-manylinux_2_28_aarch64.whl

Download URL agentoven-0.9.6-cp311-cp311-manylinux_2_28_aarch64.whl
Size 1.8 MB
Tags CPython 3.11 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
f2a47a3e44a8b428cac672ff4cc91caa5b8969ac858ee129b28403e1da64658b
BLAKE2b-256 checksum
How to use checksums
a5c875b705e53af1ab000506d258c4d12e75a90f098143605ac9acdd33e49afe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / agentoven-0.9.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL agentoven-0.9.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 1.8 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
c34e2c3a11a4237edad287d45debce92565934997344ff168a09d5e4275d5fc4
BLAKE2b-256 checksum
How to use checksums
46ad04948430f8384093c54ed37abba811fb5176b6c5a3837df0fb177a4a7d13
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / agentoven-0.9.6-cp311-cp311-macosx_11_0_arm64.whl

Download URL agentoven-0.9.6-cp311-cp311-macosx_11_0_arm64.whl
Size 1.6 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d9c0e4d52f859da9714a0cc996ad7ae9afaad3716b3827ac57cddb9d3d9607fa
BLAKE2b-256 checksum
How to use checksums
2c6cdae9785771c331749768d39dce5d9fc2ec9c66765473ab56e3af988069de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / agentoven-0.9.6-cp311-cp311-macosx_10_12_x86_64.whl

Download URL agentoven-0.9.6-cp311-cp311-macosx_10_12_x86_64.whl
Size 1.7 MB
Tags CPython 3.11 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
97ba751f08e2be8261c8daf005fe0309f23103c5598f581cd8e7e712fed10fd5
BLAKE2b-256 checksum
How to use checksums
4824dc290c4ca1e65dee7b9c3533daeb891024d842269c9a99091b41544e68af
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / agentoven-0.9.6-cp310-cp310-win_amd64.whl

Download URL agentoven-0.9.6-cp310-cp310-win_amd64.whl
Size 1.7 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
b0c6931188c60e46a34d81f5596127472a495e593912371a1553d22565439d46
BLAKE2b-256 checksum
How to use checksums
6dbc064d527e0a0005eaab58ee5dc3b4f8499f1bf4bd55b257f7c9e38f3b6862
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / agentoven-0.9.6-cp310-cp310-musllinux_1_2_x86_64.whl

Download URL agentoven-0.9.6-cp310-cp310-musllinux_1_2_x86_64.whl
Size 2.1 MB
Tags CPython 3.10 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
bb8aeaf5e3094a2ba9a25b3baa65425e72c8ed9c995d1d0c7c9024fbe3ebb94e
BLAKE2b-256 checksum
How to use checksums
3ca83597bfbfe5d80024ca986d158380ecd487590bd67e45560d1bc038789fc5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / agentoven-0.9.6-cp310-cp310-manylinux_2_28_aarch64.whl

Download URL agentoven-0.9.6-cp310-cp310-manylinux_2_28_aarch64.whl
Size 1.8 MB
Tags CPython 3.10 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
6c654ba2331c574decddfaf5f30b307cee6d3f6236ac9896603b05b751b888d5
BLAKE2b-256 checksum
How to use checksums
9e206977533b123978f4c977f35b3d57869e7bec4ee670179305288fee7eac63
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / agentoven-0.9.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL agentoven-0.9.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 1.8 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
c12ebad936643379f6a83b4ba4b92c78ab088d39190504008a43a0dcb937f313
BLAKE2b-256 checksum
How to use checksums
bd2d51f4f7cf435cdc52f7b76a567c50b4bafbd04193fe67c863c0d723a79280
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / agentoven-0.9.6-cp310-cp310-macosx_11_0_arm64.whl

Download URL agentoven-0.9.6-cp310-cp310-macosx_11_0_arm64.whl
Size 1.6 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
18718ef8cccf8b3bed7f20d32759586e0f760b5f7d80f5fedafd387e803c7bab
BLAKE2b-256 checksum
How to use checksums
47afb25db88a6cf544a281c5fbe2683619023a5fa6d95d3e8d82776e183166d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / agentoven-0.9.6-cp310-cp310-macosx_10_12_x86_64.whl

Download URL agentoven-0.9.6-cp310-cp310-macosx_10_12_x86_64.whl
Size 1.7 MB
Tags CPython 3.10 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
54eb9e7a9d4939bbeea154617345ba7f8c87c5a4bc9c5c3b6ffe29c8005c82a6
BLAKE2b-256 checksum
How to use checksums
449e96dc350d095aa25e55d4b4187946752e1be4b2b12728a0cee1e33ca935a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / agentoven-0.9.6-cp39-cp39-win_amd64.whl

Download URL agentoven-0.9.6-cp39-cp39-win_amd64.whl
Size 1.7 MB
Tags CPython 3.9 Windows x86-64
SHA-256 checksum
How to use checksums
5c5f2c3a583a58ad1bc135851d69ba9080c58daa72a8013c7526d91a372540e1
BLAKE2b-256 checksum
How to use checksums
3514d09a12bc24095a10d294ff1868b5da4f2dcfefb40a930000aba241b8792a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / agentoven-0.9.6-cp39-cp39-musllinux_1_2_x86_64.whl

Download URL agentoven-0.9.6-cp39-cp39-musllinux_1_2_x86_64.whl
Size 2.1 MB
Tags CPython 3.9 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
6222376385907fd3d036037a5429a0d3fe00a8fac54f4a6e67766bcf88297f61
BLAKE2b-256 checksum
How to use checksums
a388e70927435f92a0610c5d80b704ed3a6bb75a6ecf2931269a37a5e9918c72
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / agentoven-0.9.6-cp39-cp39-manylinux_2_28_aarch64.whl

Download URL agentoven-0.9.6-cp39-cp39-manylinux_2_28_aarch64.whl
Size 1.8 MB
Tags CPython 3.9 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
4c76e910b272068584b20cc2e7d534097cfa5c207fddaa0436e2e92172ab609d
BLAKE2b-256 checksum
How to use checksums
9d11525deb20a01d0a228af864f709d0aec48bcd89d6e4a0dbf10c0fa1d080b1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / agentoven-0.9.6-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl

Download URL agentoven-0.9.6-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Size 1.8 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
1071f5e14cd452d06f27b3995fde5fd280b3f7a57a6d807f0eaf458fd8ff4b43
BLAKE2b-256 checksum
How to use checksums
41d4dd401170be1612c8abc0958bf5032dc58c8ce2834e1c2f26324077cf216e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / agentoven-0.9.6-cp39-cp39-macosx_11_0_arm64.whl

Download URL agentoven-0.9.6-cp39-cp39-macosx_11_0_arm64.whl
Size 1.6 MB
Tags CPython 3.9 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
b4a31f012141b01478038524125d90d81f9538c3e894ceae760971e14967d64e
BLAKE2b-256 checksum
How to use checksums
90d10a8eaa94553b32194af46663b55c87d193d4816a0d848d5b3216a2787f20
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / agentoven-0.9.6-cp39-cp39-macosx_10_12_x86_64.whl

Download URL agentoven-0.9.6-cp39-cp39-macosx_10_12_x86_64.whl
Size 1.7 MB
Tags CPython 3.9 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
927c606145474a9e66f75bb8030ab554ef9d8657841ee479bcef29c52637c05e
BLAKE2b-256 checksum
How to use checksums
917519bacac4f46b5427da799c532b2a0e4edae5efd893033a7d9cd0f1d0b6d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Security for agentoven 0.9.6

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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page