Skip to main content

Python SDK for the AEO Protocol v0.1 — parse, build, validate, and fetch AEO declaration documents.

Project description

aeo-sdk-python

Python SDK for the AEO Protocol v0.1 — parse, build, validate, and fetch AEO declaration documents.

Install

pip install aeo-protocol

Quickstart

from aeo import Document, fetch_well_known

# Fetch and parse from a live well-known URL
doc = fetch_well_known("https://mizcausevic-dev.github.io")
print(doc.entity.name)              # "Miz Causevic"
print(doc.claim_ids())               # ['current-role', 'location', ...]
print(doc.find_claim("years-experience").value)  # 30

# Parse from disk
doc = Document.from_file("aeo.json")

# Build programmatically
from aeo import Entity, Authority, Claim, Document
doc = Document(
    entity=Entity(
        id="https://example.com/#org",
        type="Organization",
        name="Example Org",
        canonical_url="https://example.com/",
    ),
    authority=Authority(primary_sources=["https://example.com/"]),
    claims=[Claim(id="tagline", predicate="description", value="A reference example.")],
)
print(doc.to_json())

Async variant:

import asyncio
from aeo.client import fetch_well_known_async

doc = asyncio.run(fetch_well_known_async("https://mizcausevic-dev.github.io"))

What it does

  • ParseDocument.from_json / from_file / from_dict
  • Build — pydantic v2 model classes for every type in the spec (Entity, Authority, Claim, Verification, CitationPreferences, AnswerConstraints, Audit)
  • SerializeDocument.to_json() returns canonical JSON
  • Fetchfetch_well_known(origin) performs HTTP discovery against /.well-known/aeo.json with Accept: application/aeo+json, application/json
  • Querydoc.claim_ids() and doc.find_claim(id) for convenience

Conformance

This SDK supports the AEO Protocol at conformance Level 1 (Declare). Signature verification (Level 2) and audit-endpoint posting (Level 3) are not yet implemented; signed documents parse fine but the signature is not verified.

Dependencies

  • pydantic >= 2.0 — model validation and serialization
  • httpx >= 0.27 — sync and async HTTP

Development

pip install -e .[dev]
pytest -v

Specification

Full spec at github.com/mizcausevic-dev/aeo-protocol-spec.

License

MIT-licensed. Free for commercial and non-commercial use with attribution. The AEO Protocol specification this SDK implements is also MIT (see aeo-protocol-spec).

Kinetic Gain Protocol Suite

Spec Implementation
AEO Protocol aeo-sdk-python (this) · aeo-sdk-typescript · aeo-sdk-rust · aeo-sdk-go · aeo-cli · aeo-crawler
Prompt Provenance
Agent Cards
AI Evidence Format
MCP Tool Cards

Connect: LinkedIn · Kinetic Gain · Medium · Skills

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

aeo_protocol-0.2.0.tar.gz (8.7 kB view details)

Uploaded Source

Built Distribution

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

aeo_protocol-0.2.0-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file aeo_protocol-0.2.0.tar.gz.

File metadata

  • Download URL: aeo_protocol-0.2.0.tar.gz
  • Upload date:
  • Size: 8.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for aeo_protocol-0.2.0.tar.gz
Algorithm Hash digest
SHA256 6e284167dff41969b43de03c6a0c4239255f2a553d225986c3adebb11006c668
MD5 9c0423615a1b843faee897ba0cacd252
BLAKE2b-256 bc51d0d053cd85044f7fbc596866a049fa878cadd759e770648ad76a03ff44ad

See more details on using hashes here.

File details

Details for the file aeo_protocol-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: aeo_protocol-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 6.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.0

File hashes

Hashes for aeo_protocol-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3528de99612723f5af172b23dffc69f15db168412109b644338953df935b70b1
MD5 62208da7d6e9ed32a92375a946151dcc
BLAKE2b-256 efc4af689ff54561386b5b0d9f98f4491a958022adba20c8b8b63364ea148848

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