Skip to main content

Python SDK for the Agent Passport System — cryptographic identity, delegation, governance for AI agents

Project description

Agent Passport System — Python SDK

Cryptographic identity, delegation, governance, and attribution for AI agents. 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

Quick Start

from agent_passport import (
    generate_key_pair, create_passport, sign_passport, verify_passport,
    create_delegation, verify_delegation, create_action_receipt,
    build_merkle_root, get_merkle_proof, verify_merkle_proof
)

# 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 What It Does
crypto Ed25519 key generation, signing, verification
canonical Deterministic JSON serialization (cross-language compatible)
passport Agent identity creation, signing, verification, expiry
delegation Scoped delegation chains, sub-delegation, revocation
attribution Merkle proofs, beneficiary tracing, contribution tracking

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 the core layers of the Agent Passport Protocol:

  1. Identity — Ed25519 passports with capabilities and vote weight
  2. Delegation — Scoped authority with spend limits and depth controls
  3. Attribution — Merkle proofs for contribution tracking

The full 8-layer protocol (including Values Floor, Agora, Intent Architecture, Coordination, and Commerce) is available in the TypeScript SDK.

Links

Tests

pip install pynacl pytest
PYTHONPATH=src pytest tests/ -v
# 35 tests, including cross-language compatibility tests

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-0.1.0.tar.gz (14.1 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-0.1.0-py3-none-any.whl (14.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: agent_passport_system-0.1.0.tar.gz
  • Upload date:
  • Size: 14.1 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-0.1.0.tar.gz
Algorithm Hash digest
SHA256 859529256807e537396a5950ae6daf648021747d6411cf195dd0706675d6ffe1
MD5 3f107fca5ea8bc9060fef33d99b0f072
BLAKE2b-256 e592d621684377218dfb375e23221993b9241f3ccca34aef2e8693c47f9bf80e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for agent_passport_system-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4147343969f33feadfad6f6e757ec45387c139742f6d63906531d11b42b87761
MD5 3486545bfea3bed0645b1055bc388236
BLAKE2b-256 04c672431c4d9533ad7880d066f0f47feb64664379b374cf2239691bc02dbf4c

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