qerexa (Python, preview)
Python clients for Qerexa:
QerexaGateMiddleware— decorator that runs a function only after a direct, unexpired Qerexaalloweddecision. Works for AutoGen functions and any plain Python function, including CrewAI or LangChain tool functions.QerexaVCClient— issue and verify verifiable credentials, federation tokens, and trust relationships.
Install
pip install qerexa
Gate a function
import os
from qerexa import (
ExecutionAuthorizationRequiredError,
GateBlockedError,
QerexaGateMiddleware,
)
gate = QerexaGateMiddleware(api_key=os.environ["QEREXA_API_KEY"])
@gate.gate_check(action="report.export", reasoning="Monthly compliance export")
def export_report(report_id: str) -> str:
...
try:
export_report("rpt_123")
except ExecutionAuthorizationRequiredError as e:
# Human review was requested (flow e.flow_id). Approval of that review does
# not authorize this call; stop here or use an action-bound execution flow.
...
except GateBlockedError as e:
...
The wrapped function runs only for HTTP 200 with decision: "allowed",
allowed: true, a decision_id, and a future, timezone-aware expires_at.
Everything else raises and the function does not run: blocked,
approval_required, expired or malformed allows, non-JSON responses, and
network errors (QerexaError, the base of both errors above).
Function arguments are never sent. Qerexa receives the action, the actor, the
reasoning you pass (default: the function name), and metadata. Do not put
credentials or customer data in either.
For CrewAI, decorate the function that implements the tool before handing it to CrewAI; the gate then runs on every call regardless of CrewAI callbacks.
Verifiable credentials
from qerexa import VCClientConfig, create_vc_client
vc = create_vc_client(VCClientConfig(org_id="org_123", api_key=os.environ["QEREXA_API_KEY"]))
relationships = vc.list_trust_relationships(limit=10)
Requests time out after 10 seconds by default (VCClientConfig(timeout=...)).
Preview limits
This package is not a regulated execution adapter. It does not verify receipts, poll or resume review flows, or bind an approval to a specific execution. Use the documented API proof flow and an independently reviewed execution contract for high-impact actions.
Development
python -m pip install -e "./packages/sdk-python[dev]"
ruff check packages/sdk-python
pytest packages/sdk-python
Releases follow the SDK release runbook.
Metadata
Release files for qerexa 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| qerexa-0.1.0.tar.gz | 9.0 kB | With provenance | Details for qerexa-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| qerexa-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for qerexa-0.1.0-py3-none-any.whl |
Total release size: 18.4 kB
Release files / qerexa-0.1.0.tar.gz
| Download URL | qerexa-0.1.0.tar.gz |
|---|---|
| Size | 9.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
228d49171fcc3e00c7ff85142c277286ce96f87a2e790fc4da01a21e497aead5
|
|
BLAKE2b-256 checksum How to use checksums |
c96365d5c41d9285ac1989d912a11e619058ce0e7fe645656dd7e5ebd209fb59
|
| 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 18, 2026.
Transparency logRelease files / qerexa-0.1.0-py3-none-any.whl
| Download URL | qerexa-0.1.0-py3-none-any.whl |
|---|---|
| Size | 9.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8741bfbf4e098b6dd31858656309f2e650fcd2e296098b36a7c73905567ebac9
|
|
BLAKE2b-256 checksum How to use checksums |
11461bab9eecf45f4231967a48b28e28a8209dfb0900833107154ec55c8c8524
|
| 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 18, 2026.
Transparency logSecurity for qerexa 0.1.0
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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for qerexa-0.1.0.tar.gz
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 18, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.