Catalog PyPI
Back to packageRELEASE DETAILS

2.0.0b1

PyPI

aex-sdk

Python SDK for AEX — the Agent Exchange Protocol.

aexagentidentityp2pprotocoltransfer
Published20 May 2026
Direct dependencies8
Transitive dependenciesNot calculated

README

Version 2.0.0b1 documentation

spize (Python SDK)

Python client for the Agent Exchange Protocol (AEX).

Install

pip install spize

Quick start

from spize import Identity, SpizeClient

# One-time: create + register an identity.
identity = Identity.generate(org="acme", name="alice")
identity.save("alice.key")

client = SpizeClient(base_url="http://localhost:8080", identity=identity)
client.register()

# Send.
transfer = client.send(
    recipient="spize:acme/bob:aabbcc",
    file="invoice.pdf",
    declared_mime="application/pdf",
)
print(transfer.state)  # 'ready_for_pickup' or 'rejected'

# Receive (as Bob).
bob = Identity.load("bob.key")
bob_client = SpizeClient(base_url="http://localhost:8080", identity=bob)
bytes_in = bob_client.download(transfer.transfer_id)
bob_client.ack(transfer.transfer_id)

Components

  • Identity — Ed25519 keypair + canonical agent_id derivation. Save/load to disk.
  • SpizeClient — thin HTTP wrapper over the control plane. Handles signing + replay nonces.
  • wire — canonical byte functions that mirror spize_core::wire exactly; change only in lockstep.

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 8

Native requirements
8 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
httpx
Environment
{
  "extras": "http2",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
httpx[http2]>=0.27runtime
cryptography
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
cryptography>=42runtime
dnspython
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
dnspython>=2.6runtime
mnemonic
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
mnemonic>=0.21runtime
pytest
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
pytest>=8; extra == "dev"runtime
pytest-asyncio
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
pytest-asyncio>=0.23; extra == "dev"runtime
ruff
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
ruff>=0.3; extra == "dev"runtime
mypy
Environment
{
  "extras": "",
  "marker": "extra == \"dev\"",
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
mypy>=1.8; extra == "dev"runtime

Distribution files

2 collected
aex_sdk-2.0.0b1-py3-none-any.whl

bdist_wheel · 22.25 KB · Python py3

Source file
aex_sdk-2.0.0b1.tar.gz

sdist · 30.95 KB · Python source

Source file

Repository

PENDING
icaroholding/aex

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 20:59 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:f7ea91c06dd0f7de4c3d7627d79a1afe20cfdcd1301b6845fa40f91d4b8ed630

Other collected versions

View all collected versions →