Python SDK
Package salanor-aegis — APS-1 sign, ingest, trace/span record helpers, and policy enforcement for Python agents. Matches TypeScript canonical signing (conformance vectors).
HTTP proxy: TypeScript
wrapFetch is not ported. Use enforce_tool_policy before sensitive outbound calls, or POST /v1/aegis/policy/evaluate directly.Installation
Your project
pip install salanor-aegis
# or from Salanor source:
# pip install /path/to/salanor/sdks/pythonRecord helpers
trace + policy deny
import os
from salanor_aegis import (
IngestOptions, PolicyDeniedError, RecordContext, RecordOptions,
SignOptions, enforce_tool_policy, new_trace_id, record_trace_start,
)
sign = SignOptions(
private_key_b64=os.environ["SIGNING_PRIVATE_KEY_B64"],
key_id=os.environ["KEY_ID"],
)
ingest = IngestOptions(
api_base_url=os.environ.get("AEGIS_API_URL", "https://api.salanor.com"),
ingest_api_key=os.environ["AEGIS_INGEST_API_KEY"],
)
opts = RecordOptions(sign=sign, ingest=ingest)
ctx = RecordContext(
organization_id=os.environ["ORGANIZATION_ID"],
agent_id=os.environ["AGENT_ID"],
key_id=os.environ["KEY_ID"],
trace_id=new_trace_id(),
actor_principal="support-bot",
)
record_trace_start(ctx, trigger_source="webhook", options=opts)
try:
enforce_tool_policy(ctx, "stripe.paymentIntents.create", opts)
except PolicyDeniedError:
pass # policy_decision event ingested; tool not runExports
sign_and_ingest,sign_event,verify_event_signaturerecord_trace_start,record_llm_invocation,record_data_access,record_decision,record_provenance_claimstart_span,end_span,new_trace_id,new_span_idenforce_tool_policy,evaluate_policy_via_api,PolicyDeniedErrorenrich_provenance_payload,digest_hex
See also
- All SDKs
- HTTP ingest
- Monorepo:
sdks/python/README.md