Sentinos Python SDK (control-plane client + runtime governance adapters)
Project description
sentinos (Python SDK)
Sentinos is the control plane for AI agents: runtime governance, deterministic policy outcomes, and trace-backed forensics.
This package is the high-level Python SDK for Sentinos. It wraps sentinos-sdk-core with ergonomic clients and adapters for:
- Kernel (execution boundary, autonomy sessions, escalations, traces)
- Arbiter (policy lifecycle + deterministic outcomes)
- Chronos (context snapshots and provenance)
- Alerts, incidents, marketplace, and supporting workflows
Install
pip install sentinos
Optional extras:
pip install "sentinos[providers]" # openai + anthropic + boto3 (bedrock)
pip install "sentinos[otel]" # OpenTelemetry helpers
pip install "sentinos[langchain]" # LangChain integration helpers
pip install "sentinos[grpc]" # grpcio + protobuf support
Configure
Recommended environment setup:
export SENTINOS_BASE_URL="https://<your-sentinos-api-host>"
export SENTINOS_ORG_ID="<org-id>"
export SENTINOS_ACCESS_TOKEN="<access-token>"
Notes:
SENTINOS_ORG_IDis preferred;SENTINOS_TENANT_IDis supported as an alias.- If services are hosted separately, set
SENTINOS_KERNEL_URL,SENTINOS_ARBITER_URL, andSENTINOS_CHRONOS_URL.
Quickstart
from sentinos import SentinosClient
client = SentinosClient.from_env()
print(client.kernel.get_runtime_metrics())
print(client.arbiter.governance_dashboard())
Explicit constructor:
from sentinos import SentinosClient
from sentinos.auth.jwt import JWTAuth
client = SentinosClient.simple(
base_url="https://<your-sentinos-api-host>",
org_id="acme",
auth=JWTAuth(lambda: "<access-token>"),
)
print(client.kernel.get_runtime_metrics())
LLM Governance Integration
from sentinos import LLMGuard, SentinosClient
client = SentinosClient.from_env(org_id="acme")
guard = LLMGuard(kernel=client.kernel, agent_id="assistant-1", session_id="sess-123")
result = guard.run(
provider="openai",
operation="chat.completions",
model="gpt-4o-mini",
request={"messages": [{"role": "user", "content": "Summarize this incident"}]},
invoke=lambda: {"id": "resp-1", "model": "gpt-4o-mini"},
)
print(result.trace.trace_id, result.trace.decision)
OpenAI-compatible Responses API adapter:
from sentinos import LLMGuard, SentinosClient, create_openresponses_adapter
client = SentinosClient.from_env(org_id="acme")
guard = LLMGuard(kernel=client.kernel, agent_id="assistant-1", session_id="sess-openresponses-1")
adapter = create_openresponses_adapter(guard=guard, client=openai_client)
result = adapter.create(
model="gpt-4.1-mini",
input=[{"type": "message", "role": "user", "content": "summarize recent incidents"}],
)
print(result.trace.trace_id, result.trace.decision, result.response.status)
Workforce Auth (Enterprise)
from sentinos import SentinosClient, WorkforceAssertion, WorkforceTokenProvider
from sentinos.auth.jwt import JWTAuth
workforce_provider = WorkforceTokenProvider.from_env(
assertion_provider=lambda: WorkforceAssertion(
external_subject="employee-123",
email="employee@enterprise.example",
groups=["AI_USERS"],
),
idp_issuer="https://login.microsoftonline.com/tenant/v2.0",
)
client = SentinosClient(
org_id="enterprise-org",
base_url="https://<your-sentinos-api-host>",
auth=JWTAuth(workforce_provider),
)
CLI token exchange helper:
sentinos-workforce-auth exchange \
--controlplane-url "https://app.sentinoshq.com" \
--org-id "<org-id>" \
--idp-issuer "https://login.microsoftonline.com/<tenant>/v2.0" \
--external-subject "<employee-sub>" \
--assertion-token "<signed-idp-jwt>" \
--audience "sentinos-workforce"
Development
python3 -m venv .venv && source .venv/bin/activate
python -m pip install --upgrade pip
pip install -e ".[dev]"
tox -q
Resources
- Documentation: https://docs.sentinoshq.com/sdk/
- Repository: https://github.com/SentinosHQ/sentinos-python
- Issues: https://github.com/SentinosHQ/sentinos-python/issues
- Release guide:
RELEASING.md
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sentinos-0.1.3.tar.gz.
File metadata
- Download URL: sentinos-0.1.3.tar.gz
- Upload date:
- Size: 1.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2cfba177a9d4aa361d1c2ff5c4f4a35b1333e88f911a13001da2e2b387db8391
|
|
| MD5 |
b07d6c5a82178af20a1714776dce22c9
|
|
| BLAKE2b-256 |
43345186ee28ec03050c4cdefb6431c1bef95939c6bcd67cad8f184fdf073559
|
Provenance
The following attestation bundles were made for sentinos-0.1.3.tar.gz:
Publisher:
publish.yml on SentinosHQ/sentinos-python
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sentinos-0.1.3.tar.gz -
Subject digest:
2cfba177a9d4aa361d1c2ff5c4f4a35b1333e88f911a13001da2e2b387db8391 - Sigstore transparency entry: 1004399428
- Sigstore integration time:
-
Permalink:
SentinosHQ/sentinos-python@21c77546e9cfa30f813f495ef318a6d1408a80f9 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/SentinosHQ
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@21c77546e9cfa30f813f495ef318a6d1408a80f9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file sentinos-0.1.3-py3-none-any.whl.
File metadata
- Download URL: sentinos-0.1.3-py3-none-any.whl
- Upload date:
- Size: 63.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4fd06be886e311222573ed1ea1093d3c955a9f0f87bcc96fd34b542525d91cb6
|
|
| MD5 |
d79ee05a8b2d9c5d40e422943f010ead
|
|
| BLAKE2b-256 |
e65bc75215c6e718bc35d6f7a5c6492347301dea530bcc6cc9c144b2c6a7718d
|
Provenance
The following attestation bundles were made for sentinos-0.1.3-py3-none-any.whl:
Publisher:
publish.yml on SentinosHQ/sentinos-python
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sentinos-0.1.3-py3-none-any.whl -
Subject digest:
4fd06be886e311222573ed1ea1093d3c955a9f0f87bcc96fd34b542525d91cb6 - Sigstore transparency entry: 1004399435
- Sigstore integration time:
-
Permalink:
SentinosHQ/sentinos-python@21c77546e9cfa30f813f495ef318a6d1408a80f9 -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/SentinosHQ
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@21c77546e9cfa30f813f495ef318a6d1408a80f9 -
Trigger Event:
push
-
Statement type: