Skip to main content

sentinos (Python SDK)

Sentinos Python SDK

High-level Python SDK for Sentinos. Use it to connect agent workloads to governed execution, policy-backed decisions, trace forensics, and Chronos context with one environment-driven client.

If you want the lower-level generated API client instead, install sentinos-sdk-core. Most users should start with sentinos.

Install

pip install sentinos

Optional extras:

pip install "sentinos[providers]"  # OpenAI, Anthropic, and Bedrock helpers
pip install "sentinos[otel]"       # OpenTelemetry helpers
pip install "sentinos[langchain]"  # LangChain adapters
pip install "sentinos[grpc]"       # Native gRPC example support

Start here

Set the standard environment variables once:

export SENTINOS_BASE_URL="https://api.sentinos.ai"
export SENTINOS_ORG_ID="<org-id>"
export SENTINOS_ACCESS_TOKEN="<access-token>"

Then create the client and make a governed call:

from sentinos import SentinosClient

client = SentinosClient.from_env()
trace = client.kernel.execute(
    agent_id="assistant-1",
    session_id="sess-1",
    intent={"type": "tool_call", "tool": "example.tool", "args": {"x": 1}},
)

print(trace.decision, trace.trace_id)

If you host services separately, override SENTINOS_KERNEL_URL, SENTINOS_ARBITER_URL, or SENTINOS_CHRONOS_URL instead of switching constructors.

Common workflows

  • Govern direct provider calls with LLMGuard
  • Replay and export trace evidence for audits
  • Simulate Arbiter policy changes before rollout
  • Pull Chronos snapshots for context-aware investigation

LLMGuard example

from sentinos import LLMGuard, SentinosClient

client = SentinosClient.from_env()
guard = LLMGuard(kernel=client.kernel, agent_id="assistant-1", session_id="sess-42")

result = guard.run(
    provider="openai",
    operation="chat.completions",
    model="gpt-4o-mini",
    request={"messages": [{"role": "user", "content": "Summarize the incident."}]},
    invoke=lambda: {"id": "resp-1", "model": "gpt-4o-mini"},
)

print(result.trace.trace_id, result.trace.decision)

Trace replay example

from sentinos import SentinosClient

client = SentinosClient.from_env()
replay = client.traces.replay_trace(
    "11111111-1111-1111-1111-111111111111",
    request={"include_explain": True},
)

print(replay.decision, replay.fidelity)

Enterprise auth

Workforce token exchange is available when you need employee-scoped access:

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"],
    )
)

client = SentinosClient.from_env(auth=JWTAuth(workforce_provider))

Docs & examples

Included example files:

  • examples/quickstart.py
  • examples/auth_api_key.py
  • examples/protocols/grpc_execute_smoke.py
  • docs/cookbooks/quickstart.md
  • docs/cookbooks/chronos_snapshots.md
  • docs/cookbooks/policy_simulation.md

Release files for sentinos 0.1.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sentinos 0.1.10
File Size Uploaded
sentinos-0.1.10.tar.gz 1.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for sentinos 0.1.10
File Interpreter ABI Platform
sentinos-0.1.10-py3-none-any.whl Python 3 none any Details

Total release size: 1.2 MB

Release files / sentinos-0.1.10.tar.gz

Download URL sentinos-0.1.10.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
3f177d1d1a89e71a74665098a0f3c83a2959c8355ff115a9f8f58eb63a23ac4f
BLAKE2b-256 checksum
How to use checksums
29f7257fb1dd9fadf052bf442178ecceb81794cb66193a311b587221cd1495f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 30, 2026.

Transparency log

Release files / sentinos-0.1.10-py3-none-any.whl

Download URL sentinos-0.1.10-py3-none-any.whl
Size 78.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cbf931d326673038b914f3f52456cb59fee75f8af54ce19013ecaad3b4131d53
BLAKE2b-256 checksum
How to use checksums
053ed0e1c47a0eb6c74ad2f8f9da168ed98dc36976bbfaf5b6f2774c932c386e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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 Mar 30, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.10 This release

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page