Arbiter Python SDK
Official Python client for the Arbiter Control Plane. Same governance semantics as
@arbiterhq/sdk (Node): evaluate → allow | hold | deny.
Package: arbiter-sdk==0.1.1
Import: from arbiter import ArbiterRuntime
Install
pip install arbiter-sdk==0.1.1
Authority Connect (arbiter connect --apply) installs the public pin configured in the CLI
(currently arbiter-sdk==0.1.0 or newer compatible pins) into Python projects after confirmation.
When you are developing inside the Arbiter monorepo, Connect may use an on-disk editable
path instead.
Development / contributor only
pip install -e packages/python
# or:
export ARBITER_PYTHON_SDK_PIP_SPEC=/path/to/arbiter_sdk-0.1.1-py3-none-any.whl
Do not use the editable monorepo path as the customer install instruction.
Environment variables
| Variable | Purpose |
|---|---|
ARBITER_API_KEY |
Workspace API key (arb_test_*) or agent credential (arb_agent_*) |
ARBITER_BASE_URL |
Control Plane base URL (default https://api.arbitertrust.com) |
ARBITER_AGENT |
Required for workspace API keys; stable agent external id for Discovery |
You can also pass api_key/credential, base_url, and agent to ArbiterRuntime(...).
Quick start
from arbiter import ArbiterRuntime
runtime = ArbiterRuntime() # reads ARBITER_API_KEY / ARBITER_BASE_URL / ARBITER_AGENT
runtime.connect(framework="custom", runtimeType="python")
result = runtime.evaluate("send_payment", amount=100)
if result.decision == "allow":
...
elif result.decision == "deny":
...
elif result.decision == "hold":
# Approval HOLD includes approval_request_id for Dashboard / Authorizations Approve.
# API keys cannot approve. This package does not expose completeHeldEvaluation;
# Node SDK and Authority Gate can complete held evaluations in-process.
# Discovery HOLD requires a human to Adopt the agent, then retry evaluate.
...
Governance boundaries
Arbiter governs agents. It does not replace human security decisions:
- Discovery observes runtimes. Humans Adopt agents before enforcement begins.
- Approval HOLD pauses side effects. Humans Approve (or deny) in the Dashboard.
- Connect and this SDK never auto-Adopt Discovery resources.
- Connect and this SDK never auto-Approve HOLD decisions.
- API keys cannot approve; approval requires a human session.
Normal lifecycle:
connect / observe → Adopt (human) → evaluate → allow | hold | deny
hold (approval) → Approve (human) → continue
API surface
| Symbol | Purpose |
|---|---|
ArbiterRuntime |
Client: api_key/credential, agent, base_url, connect(), evaluate() |
evaluate(...) |
POST /evaluate → normalized decision models |
AllowEvaluateResult / DenyEvaluateResult / hold variants |
Decision shapes |
ArbiterError / ArbiterTimeoutError / ArbiterConfigError |
Deterministic errors |
normalize_evaluate_result |
Raw JSON → typed result |
Companion packages
| Package | Version |
|---|---|
@arbiterhq/cli |
0.3.0 |
@arbiterhq/sdk |
0.3.5 (docs/version identity; companion CLI 0.3.0) |
@arbiterhq/gate |
0.1.0 |
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file arbiter_sdk-0.1.1.tar.gz.
File metadata
- Download URL: arbiter_sdk-0.1.1.tar.gz
- Upload date:
- Size: 9.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b3134ab31df436a01f0b48f35f2b0590efca415dfccac0a318fa98e057f2d12a
|
|
| MD5 |
4ae5bc42c8207a08b056b64ee703e1c8
|
|
| BLAKE2b-256 |
e0ab485ccefa0f3a01c6fa5a4d1b9fd349ae312ebd73b53b3c86d082a7683b17
|
File details
Details for the file arbiter_sdk-0.1.1-py3-none-any.whl.
File metadata
- Download URL: arbiter_sdk-0.1.1-py3-none-any.whl
- Upload date:
- Size: 10.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4e0789efcee589714d47371148f971cf8e350a14fff15bf9997743e5581d5163
|
|
| MD5 |
c8ef0752834265cdab58553856b477fb
|
|
| BLAKE2b-256 |
721909813dab8f2505cf2407ac622aa381cf294aa3e21d7d11655cc72b4f4b6d
|