Skip to main content

Sentisec public SDK — cognitive integrity monitoring for autonomous agents (thin client).

Project description

sentisec-sdk

Public Python SDK for Sentisec.

sentisec-sdk is a thin client. You install it with pip, point it at your workspace, and wrap your existing OpenAI / Anthropic client. Your agent's tool calls then flow through Sentisec's hosted control plane, where they are evaluated and either allowed, rewritten, or blocked before they reach the world.

Install

pip install sentisec-sdk

Python 3.11+ is required.

Quick start

from sentisec_sdk import Monitor

monitor = Monitor()  # picks up ~/.sentisec/credentials.toml after `sentisec login`
client = monitor.wrap_openai(...)
client = monitor.wrap_anthropic(...)

The sentisec CLI is shipped in the same wheel:

sentisec login
sentisec status
sentisec demo run
sentisec logout

Note (alpha): the public surface is being assembled across a small set of release tasks. Calling Monitor() / Session() in this alpha pre-release raises NotImplementedError pointing at the tracking task — install the 0.1.0 (non-alpha) release for the working client.

From 0.1.0a4 onwards SENTISEC_WORKSPACE_ID is OPTIONAL — the Sentisec proxy resolves the workspace from the API key prefix, so a one-env-var setup (SENTISEC_API_KEY only) is sufficient for the wrap_anthropic / wrap_openai path.

Documentation

Building the standalone CLI

For shipping channels that cannot rely on a working pip on the user's box (curl installer, npm postinstall, GitHub Releases tarball), the sentisec console-script entry is bundled as a single shiv zipapp:

# one-time: install the build-only extra
uv pip install --system shiv          # or: pipx install shiv

# build
./scripts/build-cli.sh                # → dist/sentisec (executable)

# (optional) verify the build is reproducible
VERIFY_DETERMINISM=1 ./scripts/build-cli.sh

The build script:

  • runs shiv --console-script sentisec --output-file dist/sentisec --reproducible --compressed --python "/usr/bin/env python3" .,
  • smoke-tests ./dist/sentisec --version and asserts the output equals sentisec <version-from-pyproject>,
  • when VERIFY_DETERMINISM=1, rebuilds into a tempdir and diffs the two artifacts byte-for-byte (shiv's --reproducible flag pins all zip-entry timestamps to a fixed value).

Platform caveat. The resulting dist/sentisec shebangs to /usr/bin/env python3, but its bundled wheels include the native pydantic-core extension for the builder's (os, arch, python-minor) tuple. The artifact therefore runs on hosts matching that tuple only. The release pipeline (P-INST-02) matrix-builds one artifact per supported tuple and uploads each as a separate GitHub Release asset.

License

Apache License 2.0. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sentisec_sdk-0.1.0a7.tar.gz (113.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sentisec_sdk-0.1.0a7-py3-none-any.whl (131.9 kB view details)

Uploaded Python 3

File details

Details for the file sentisec_sdk-0.1.0a7.tar.gz.

File metadata

  • Download URL: sentisec_sdk-0.1.0a7.tar.gz
  • Upload date:
  • Size: 113.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sentisec_sdk-0.1.0a7.tar.gz
Algorithm Hash digest
SHA256 a9b1d6e1e75fa8e4d3886cd3ca2eee6b7d148c44d011c2c688b2e67d6f697cf9
MD5 e7d3d758c617893cad5091ca9bb7ca17
BLAKE2b-256 9198fed7c2e020370a4c328cf2196dc2005b6f58e5c9579945e611890051b6cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for sentisec_sdk-0.1.0a7.tar.gz:

Publisher: publish-sdk-py.yml on Hamza-Rivon/sentisec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file sentisec_sdk-0.1.0a7-py3-none-any.whl.

File metadata

  • Download URL: sentisec_sdk-0.1.0a7-py3-none-any.whl
  • Upload date:
  • Size: 131.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for sentisec_sdk-0.1.0a7-py3-none-any.whl
Algorithm Hash digest
SHA256 1c43fb4ed28a5b32e455b92fcdafdc323e059238d5ed9af844faa2ddb4e5089d
MD5 2aecaa1312025a00da2002ee8ebccf89
BLAKE2b-256 1858cdea402e10862f89908984f9c478b64eb1961005d3db0a29ca43ab0b615e

See more details on using hashes here.

Provenance

The following attestation bundles were made for sentisec_sdk-0.1.0a7-py3-none-any.whl:

Publisher: publish-sdk-py.yml on Hamza-Rivon/sentisec

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page