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.2.0. 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.2.0.tar.gz (118.8 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.2.0-py3-none-any.whl (116.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: agent_passport_system-2.2.0.tar.gz
  • Upload date:
  • Size: 118.8 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.2.0.tar.gz
Algorithm Hash digest
SHA256 f305a716bb1783f1d93b25cd4e998d008c6fc1cec1b75d6c0eeb0a598acd42b8
MD5 b2464ed8664d617a8542579ac6ecc161
BLAKE2b-256 23639496ffd3ffea70de9edc42bf89bee4933133b1ddc788d51a19a5965a59e9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for agent_passport_system-2.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c5686440468567cd42dc39583ce649b601fd12b68f6085983786c2ccbbc6cea6
MD5 b34d668de0507a8c7c26f4d813a4f05e
BLAKE2b-256 e7b67cf5c16c21c27d67cf51a73711f76e2e9ab18d54e27c7ee088318ba7e1bf

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