Skip to main content

Python SDK for the Agent Passport System — identity, delegation, governance, data source registration, training attribution, per-period attribution settlement (Build C). Cross-language parity with agent-passport-system npm v2.0.0 — clean protocol-only surface after the v2 separation refactor. Product intelligence lives in the private gateway.

Project description

Agent Passport System — Python SDK

PyPI

Enforcement and accountability layer for AI agents. Bring your own identity. Full Python implementation of the Agent Passport Protocol, cross-language compatible with the TypeScript SDK — signatures created in Python verify in TypeScript and vice versa.

Install

pip install agent-passport-system

v2.0.0 alignment (2026-04-17): Published as 2.0.0b0 pre-release on PyPI, matching the architectural separation shipped in agent-passport-system npm v2.0.0. Install with pip install --pre agent-passport-system to opt in to the v2 beta. Default pip install continues to pull v0.15.0 until v2.0.0 final is released. The Python SDK's public API is already protocol-only — no breaking changes for most users.

Quick Start

Lead with the minimum you need to get a signed passport and a verifiable delegation — identity, delegation, policy evaluation. Import the rest from agent_passport when you need it. Full protocol surface (all 8 layers: attribution, values, agora, intent, coordination, commerce) is still available on the same package.

from agent_passport import (
    generate_key_pair, create_passport, sign_passport, verify_passport,
    create_delegation, verify_delegation, create_action_receipt,
    # full surface available — import more when you need it:
    # build_merkle_root, load_floor, attest_floor, evaluate_compliance, ...
)

# Create agent identity (Ed25519)
keys = generate_key_pair()
passport = create_passport(
    agent_id="agent-alpha-001",
    public_key=keys["public_key"],
    capabilities=["code_execution", "web_search"]
)
signed = sign_passport(passport, keys["private_key"])
assert verify_passport(signed, keys["public_key"])

# Delegate authority
delegation = create_delegation(
    from_agent="human-001",
    to_agent="agent-alpha-001",
    scope=["code_execution"],
    private_key=keys["private_key"],
    spend_limit=500
)
assert verify_delegation(delegation, keys["public_key"])

# Record work as signed receipt
receipt = create_action_receipt(
    agent_id="agent-alpha-001",
    delegation_id=delegation["id"],
    action="code_execution",
    scope_used="code_execution",
    private_key=keys["private_key"],
    spend=50,
    result="success",
    description="Implemented feature X"
)

# Merkle proofs for attribution
hashes = [receipt["receipt_hash"]]
root = build_merkle_root(hashes)
proof = get_merkle_proof(hashes, hashes[0])
assert verify_merkle_proof(hashes[0], proof, root)

What's Included

Module Layer What It Does
crypto Ed25519 key generation, signing, verification
canonical Deterministic JSON serialization (cross-language compatible)
passport 1 Agent identity creation, signing, verification, expiry
delegation 1 Scoped delegation chains, sub-delegation, revocation
values 2 Human Values Floor: load YAML/JSON, attestation, compliance, graduated enforcement
attribution 3 Merkle proofs, beneficiary tracing, contribution tracking
agora 4 Signed message feeds, topics, threading, agent registry
intent 5a Roles, deliberation, consensus, tradeoff evaluation, precedents
policy 5b 3-signature chain, FloorValidatorV1, action intents
coordination 6 Task lifecycle: briefs, evidence, review, handoff, deliverables
integration 7 Cross-layer bridges (commerce+intent, coord+agora, etc.)
commerce 8 4-gate checkout, human approval, spend tracking, receipts

Cross-Language Compatibility

The Python SDK produces identical canonical JSON and Ed25519 signatures as the TypeScript SDK. This means:

  • A passport signed in Python can be verified in TypeScript
  • Delegation chains can span Python and TypeScript agents
  • Merkle roots computed from the same receipts match across languages
from agent_passport import canonical_json

# Same input produces identical output in Python and TypeScript
data = {"z": 1, "a": 2, "nested": {"b": 3, "a": 1}}
assert canonical_json(data) == '{"a":2,"nested":{"a":1,"b":3},"z":1}'

Protocol Layers

This Python SDK implements all 8 Agent Passport Protocol layers:

  1. Identity + Delegation — Ed25519 passports, scoped delegation chains, cascade revocation
  2. Human Values Floor — 7 principles (F-001 through F-007), graduated enforcement (inline/audit/warn)
  3. Beneficiary Attribution — Merkle proofs for contribution tracking
  4. Agent Agora — Signed message feeds with topics, threading, and agent registry
  5. Intent Architecture + Policy Engine — Roles, deliberation, consensus, 3-signature policy chain
  6. Coordination — Full task lifecycle: briefs, evidence, review, handoff, deliverables
  7. Integration Wiring — Cross-layer bridges (commerce+intent, coordination+agora)
  8. Agentic Commerce — 4-gate checkout, human approval, spend limits

Full parity with the TypeScript SDK. Also available via the MCP server.

Links

Tests

pip install pynacl pytest
PYTHONPATH=src pytest tests/ -v
# 328 tests across 25 test files, covering all 8 protocol layers

License

Apache-2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agent_passport_system-2.0.0.tar.gz (109.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agent_passport_system-2.0.0-py3-none-any.whl (108.5 kB view details)

Uploaded Python 3

File details

Details for the file agent_passport_system-2.0.0.tar.gz.

File metadata

  • Download URL: agent_passport_system-2.0.0.tar.gz
  • Upload date:
  • Size: 109.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for agent_passport_system-2.0.0.tar.gz
Algorithm Hash digest
SHA256 460f27512382f984b9e8be1c5bc7a5708c0e456f9d1d457b2ced2cd99b9f0ec9
MD5 e318d5ec00024a6d3114efa89c16f89f
BLAKE2b-256 bf4fc696661c1f545bcd6e4474c2d4c28d4349c2cd32c3236fb2967bb173cfbd

See more details on using hashes here.

File details

Details for the file agent_passport_system-2.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for agent_passport_system-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e764e497fe0c6efe9527d7d749ba1e1d0403ee2c851f59af61a1cbf6a4b5a4ab
MD5 5dda0f55d4a3133cf933308aa883e4c3
BLAKE2b-256 5e3846f86b0deda90d35a640c98294ba7c4939b7fffc3b5ae26857dcf221f66f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page