AAES Python SDK
AAES (Autonomous Agentic Enterprise Systems) is an AI governance platform for the action layer: permissions, approvals by authorized persons, and spending limits on requests routed through it, with a sealed record of each completed decision. This package is its Python client.
Installable distribution aaes-sdk, import aaes, Python 3.9+, stdlib only (urllib). Includes inline annotations and PEP 561 metadata. The source-file import remains supported: aaes/aaes.py is self-contained and can still be copied alone. The wheel also ships the LangGraph/CrewAI framework connectors as the aaes.connectors subpackage (aaes_tools, langgraph_connect, crewai_connect) — stdlib-only, with crewai/pydantic imported lazily by the caller's own environment.
python3 -m pip install aaes-sdk
The package is publicly available on PyPI. These examples require a running AAES daemon and a token issued by
your deployment operator. Set AAES_ENDPOINT and AAES_TOKEN first. The request
reads permitted capabilities; it does not execute an agent action.
The customer-run platform evaluation package is included only in the paid design partnership. Installing this SDK does not grant a platform software license or a running deployment.
For local development from a repository checkout:
python3 -m pip install ./sdk/python
python3 sdk/python/test_aaes.py # plain assertions; pytest also collects it
from aaes import AaesError, Client
try:
result = Client.from_env().capabilities()
print(f"{len(result.capabilities)} permitted capabilities")
except AaesError as error:
raise SystemExit(str(error))
Methods: capabilities, catalog, health, action, brokered,
resume, resume_brokered, present_grant, request_access, access_request, observe, refresh,
federate, the bounded reads list_task, task, list_approvals,
approval, list_entitlements, list_receipts, receipt, the
agent-manager card reads manager_cards and decide_manager_card, the
person-only OperatorClient.revoke_access_request, and
aaes.verify_hint(export_path, public_key_path). Every method above is
covered by this package's tests (test_aaes.py, test_resume.py, test_read.py,
test_federation.py).
The tests are a plain python3 script (functions named test_* and a
main() runner). Use the documented python3 command to run the suite without a test framework.
What it deliberately does not do: keyword arguments only, so url=,
method=, headers=, credential= and token= are TypeErrors rather
than fields; the payload is checked against the field names the daemon refuses;
tenant and actor come from GET /v1/capabilities; receipts are the daemon's
bytes and are verified offline with aaesctl verify; a mutating call is
retried only on opt-in, only after a 503, and only under the same effect key.
Public documentation: SDK guide and operation/scope table. Repository recipients can also use docs/guides/INTEGRATION.md.
A 503 response does not prove that the provider performed no action. Repeat only the identical request with its original effect key; never change the key to force a retry. The daemon retains the reservation and dispatch claim for uncertain outcomes and may answer the repeat with 409. It permits another dispatch only after proving that the previous attempt was never dispatched.
Published package and expanded contract
See SDK release policy and complete operation/scope table. Version 0.1.0 is published on PyPI as aaes-sdk (import aaes), released from the tag sdk/python/v0.1.0 by the trusted-publisher workflow; check the registry, not this file, for the current version.
Endpoint transport: bearer credentials require HTTPS. HTTP is accepted only
for explicit loopback addresses (localhost, 127.0.0.0/8, or ::1); DNS
resolution is never used to authorize plaintext transport.
Metadata
Release files for aaes-sdk 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| aaes_sdk-0.1.1.tar.gz | 43.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aaes_sdk-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 89.7 kB
Release files / aaes_sdk-0.1.1.tar.gz
| Download URL | aaes_sdk-0.1.1.tar.gz |
|---|---|
| Size | 43.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e7d30bea45df9c7e2154b5c01f0434bfe03fe5b41dcf4daf6ebba8ade07d628b
|
|
BLAKE2b-256 checksum How to use checksums |
f331d2690841a8896028bdd7ebbd37fad19599db2e4ceb667d41b8932a98a425
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.
Transparency logRelease files / aaes_sdk-0.1.1-py3-none-any.whl
| Download URL | aaes_sdk-0.1.1-py3-none-any.whl |
|---|---|
| Size | 46.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
331840082f891d7131cf71d0e7f49644ae932321b7460bad59e35bbe441ecd47
|
|
BLAKE2b-256 checksum How to use checksums |
53661554d81c9b11796f7c14595938537769a4b8c3e3527cedbc82f7ee2b603a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.
Transparency log