Skip to main content

Python SDK for the Agent Passport System. Identity, delegation, governance, data source registration, training attribution, per-period attribution settlement, mutual authentication. Cross-language parity with agent-passport-system npm v2.5.0-alpha (Wave 1 accountability primitives in JS SDK; Python port deferred). 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.3.0.tar.gz (119.2 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.3.0-py3-none-any.whl (116.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: agent_passport_system-2.3.0.tar.gz
  • Upload date:
  • Size: 119.2 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.3.0.tar.gz
Algorithm Hash digest
SHA256 09c1730a1d032017778f3b9c267f3f00291790be8a6cd9edf2d4cd33efd3bf1c
MD5 efa3fcccab9a2a29707b77a3b095d764
BLAKE2b-256 c1d321a000f0c4f9e5a68d68e53d7f619529772ec22c8e163e6c8a3dc337124b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for agent_passport_system-2.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 502025d2f274f11b73adc627d08c76bb6ea6811b093e11a7fdf0b59fec09da07
MD5 becd8af078e97090c3b2c0e212fee99d
BLAKE2b-256 48b4472240b39f6af0d4457be0881ce215510c1377cfbc9f107c6e9b377861ac

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