Catalog PyPI
PACKAGE EXPLORERView in registry

actpass

PyPI

ActPass Python SDK — signed action authorization for AI agents (zero dependencies)

agentsaiauthorizationmcpsecurity
Versions collected1
Direct dependencies0From release 1.1.3
Last observed20 Oct, 18:39 UTC

README

Version 1.1.3 documentation

ActPass Python SDK

Zero-dependency (stdlib-only) Python client for the ActPass runtime, mirroring the TypeScript @actpass/sdk surface (spec §14).

Install

pip install actpass

Usage (§14.2)

from actpass import create_actpass

# The API key IS your identity — apk_… (gateway/agent) or apdv_… (developer);
# the server resolves tenant + agent from it.
client = create_actpass(api_key="apk_...")

# Preflight + guarded execution in one call. execute_fn runs ONLY on allow/warn.
result = client.guard(
    goal="resolve_refund_request",
    tool="stripe.refund.create",
    resource="stripe:charge:ch_123",
    args={"chargeId": "ch_123", "amount": 14900, "currency": "USD"},
    execute_fn=lambda ctx: stripe.Refund.create(charge="ch_123", amount=14900),
)
print(result["decision"]["decision"])   # allow | deny | require_approval | ...

Other methods: preflight(), issue_passport(), verify_passport(), revoke_passport(), record_evidence(), plus hash_payload() / sign_payload() helpers for evidence hashing.

Behavior

  • Fails closed: any non-2xx (except 401/403, which return the parsed body) raises ActPassError; a network failure raises too. guard() only executes your function on allow/warn.
  • Tenant is a hint: sent as x-actpass-tenant; the gateway resolves the authoritative tenant from the authenticated principal (§11.2).
  • Zero dependencies: urllib/json/hmac/hashlib from the stdlib only.

Test

cd packages/sdk-python && python -m unittest discover -s tests

Downloads & popularity

Awaiting observations

No metric observations yet

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

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
1.1.38 Jul 20260

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 18:39 UTC

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

Record identity

package:57619ac28fdba7e746fadfad9be4c5b1865c434d2b9c5233122f49f2532e6c36