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 raisesNotImplementedErrorpointing at the tracking task — install the0.1.0(non-alpha) release for the working client.From
0.1.0a4onwardsSENTISEC_WORKSPACE_IDis OPTIONAL — the Sentisec proxy resolves the workspace from the API key prefix, so a one-env-var setup (SENTISEC_API_KEYonly) is sufficient for thewrap_anthropic/wrap_openaipath.
Documentation
- Product overview: https://sentisec.ch
- Developer docs: https://docs.sentisec.ch
- Dashboard: https://app.sentisec.ch
- Support: mailto:support@sentisec.ch
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 --versionand asserts the output equalssentisec <version-from-pyproject>, - when
VERIFY_DETERMINISM=1, rebuilds into a tempdir anddiffs the two artifacts byte-for-byte (shiv's--reproducibleflag 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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a9b1d6e1e75fa8e4d3886cd3ca2eee6b7d148c44d011c2c688b2e67d6f697cf9
|
|
| MD5 |
e7d3d758c617893cad5091ca9bb7ca17
|
|
| BLAKE2b-256 |
9198fed7c2e020370a4c328cf2196dc2005b6f58e5c9579945e611890051b6cb
|
Provenance
The following attestation bundles were made for sentisec_sdk-0.1.0a7.tar.gz:
Publisher:
publish-sdk-py.yml on Hamza-Rivon/sentisec
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sentisec_sdk-0.1.0a7.tar.gz -
Subject digest:
a9b1d6e1e75fa8e4d3886cd3ca2eee6b7d148c44d011c2c688b2e67d6f697cf9 - Sigstore transparency entry: 1694661202
- Sigstore integration time:
-
Permalink:
Hamza-Rivon/sentisec@8079af2298c0dc5e3947f09d8b010b47eaa20865 -
Branch / Tag:
refs/tags/sdk-py-v0.1.0a7 - Owner: https://github.com/Hamza-Rivon
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-sdk-py.yml@8079af2298c0dc5e3947f09d8b010b47eaa20865 -
Trigger Event:
push
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1c43fb4ed28a5b32e455b92fcdafdc323e059238d5ed9af844faa2ddb4e5089d
|
|
| MD5 |
2aecaa1312025a00da2002ee8ebccf89
|
|
| BLAKE2b-256 |
1858cdea402e10862f89908984f9c478b64eb1961005d3db0a29ca43ab0b615e
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sentisec_sdk-0.1.0a7-py3-none-any.whl -
Subject digest:
1c43fb4ed28a5b32e455b92fcdafdc323e059238d5ed9af844faa2ddb4e5089d - Sigstore transparency entry: 1694661343
- Sigstore integration time:
-
Permalink:
Hamza-Rivon/sentisec@8079af2298c0dc5e3947f09d8b010b47eaa20865 -
Branch / Tag:
refs/tags/sdk-py-v0.1.0a7 - Owner: https://github.com/Hamza-Rivon
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-sdk-py.yml@8079af2298c0dc5e3947f09d8b010b47eaa20865 -
Trigger Event:
push
-
Statement type: