Skip to main content

Identity Anchor Protocol SDK for signing requests and offline certificate verification

Project description

iap-sdk

Python SDK for Identity Anchor Protocol (IAP) request signing and offline certificate verification.

Install

Published package:

python -m pip install -U pip
python -m pip install iap-agent
iap-agent version

Local editable development install:

python -m pip install -e ".[dev]"

What this package provides

  • Deterministic agent_id derivation from Ed25519 public keys
  • Canonical request builders and signers for continuity, lineage, key rotation
  • Registry API client helpers
  • Offline certificate verification (including identity-anchor checks)
  • Liveness and transparency helper utilities

Quick example

from iap_sdk import build_continuity_request, sign_continuity_request

payload = build_continuity_request(
    agent_public_key_b64="...",
    agent_id="ed25519:...",
    memory_root="a" * 64,
    sequence=1,
    manifest_version="IAM-1",
    manifest_hash="b" * 64,
)
signed = sign_continuity_request(payload, private_key_bytes=b"...")

Run tests

pytest

Reproducible install

python3 -m venv .venv
source .venv/bin/activate
python -m pip install -U pip
python -m pip install -e ".[dev]"
iap-agent version

For a clean-room install smoke test, run:

./scripts/smoke_install.sh

Validate CLI snippets in docs:

python scripts/validate_doc_commands.py

CLI (beta)

Install editable and run:

python -m pip install -e ".[dev]"
iap-agent version
iap-agent version --json
iap-agent init
iap-agent init --show-public --json
iap-agent amcs root --amcs-db ./amcs.db --agent-id ed25519:...
iap-agent anchor issue --registry-base https://registry.ia-protocol.com --agent-name "Atlas"
iap-agent continuity request --registry-base https://registry.ia-protocol.com --json
iap-agent continuity pay --request-id <request-id> --open-browser
iap-agent continuity wait --request-id <request-id> --json
iap-agent continuity cert --request-id <request-id> --json
iap-agent verify ./certificate.json --registry-public-key-b64 <key>
iap-agent flow run --registry-base https://registry.ia-protocol.com --output-dir ./artifacts

CLI exit codes

  • 0: success
  • 1: validation/config/user input error
  • 2: network/registry unavailable
  • 3: timeout waiting for certification
  • 4: verification failure

Version compatibility

See /COMPATIBILITY.md for pinned SDK/protocol/registry API assumptions.

Docs

  • /docs/quickstart-first-certificate.md
  • /docs/e2e-user-walkthrough.md
  • /docs/e2e-dev-local-walkthrough.md
  • /docs/operator-runbook-payments.md
  • /docs/local-amcs-privacy-model.md
  • /docs/lnbits-vs-stripe-flow.md
  • /docs/troubleshooting.md
  • /docs/migration-cli-first.md

Beta mode config

Default config path:

~/.iap_agent/config.toml

Example:

beta_mode = true
maturity_level = "beta"
registry_base = "https://registry.ia-protocol.com"
amcs_db_path = "./amcs.db"

Environment override:

export IAP_REGISTRY_BASE="https://registry.ia-protocol.com"

Local development override example:

registry_base = "http://localhost:8080"

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

iap_agent-0.1.0.tar.gz (31.8 kB view details)

Uploaded Source

Built Distribution

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

iap_agent-0.1.0-py3-none-any.whl (30.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: iap_agent-0.1.0.tar.gz
  • Upload date:
  • Size: 31.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for iap_agent-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ecefb1cd3e25d8709dd2600b8691c0db4037e6273c52ec14e3b9412f30cbab43
MD5 887fd5af256db8ce71fa8071cd7cd46b
BLAKE2b-256 412ab75bbc5ad8bb4e4b8e4c9bdb882f5c14b89682adcdee111438e8079ace8e

See more details on using hashes here.

Provenance

The following attestation bundles were made for iap_agent-0.1.0.tar.gz:

Publisher: release.yml on identity-anchor-protocol/iap_sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: iap_agent-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 30.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for iap_agent-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 125857f0789676cbc39c870cac32501a5e5bd0eb5eaa9a1d538cf278227a9017
MD5 993b155d416a18b87aac026a1c420d1f
BLAKE2b-256 f3cdd295b83ae40fa2ed5560258bd57bf3e3bc3ffbc0341455aabf7000f44381

See more details on using hashes here.

Provenance

The following attestation bundles were made for iap_agent-0.1.0-py3-none-any.whl:

Publisher: release.yml on identity-anchor-protocol/iap_sdk

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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