barycenters (Python)
Govern any AI agent in 3 lines. Ships in shadow mode — drop it into your LangChain /
CrewAI / LangGraph loop and see what /admit would have blocked. Zero dependencies.
pip install barycenters
Drop it in (shadow mode — zero risk)
from barycenters import Barycenters
bary = Barycenters(api_key="bary_...", namespace="acme/eng")
# mode defaults to "shadow": it NEVER blocks. It only records what /admit would have refused.
def deploy():
d = bary.admit("deploy_prod", metadata={"env": "production"})
# shadow: d never raises. d.would_block tells you what WOULD happen once you enforce.
do_the_deploy()
bary.receipt(d.token, output_hash="sha256:...")
Or the decorator — the actual 3 lines:
@bary.boundary("delete_prod_db")
def wipe():
...
Run your agent for a day. Then read the one thing that sells it to your team:
print(bary.shadow_report()["summary"])
# → "2 of 17 action(s) would have been blocked by /admit"
That report is the whole pitch: you learn exactly which agent actions your policy would have stopped — before a single one is blocked. No risk, no downtime, no config to trust.
Honesty contract
- Shadow, no endpoint wired: every decision is an honest
AWAITING(NO_ENDPOINT) — never a fabricated pass. The shadow report says so. - Enforce mode: a refusal raises
RefusedError; an unreachable endpoint fails closed (raises too) — ungoverned execution is never silently allowed. - Zero dependencies: stdlib
urllibonly; transport is injectable for tests.
License
AGPL-3.0-or-later. A commercial license is available from Barycenters Systems LLC.
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 barycenters-1.0.0.tar.gz.
File metadata
- Download URL: barycenters-1.0.0.tar.gz
- Upload date:
- Size: 5.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ddd2e4c678fb4527a2b999ad3d354dc298cc4b2d12c888fe893cbb125dbabe5b
|
|
| MD5 |
c205b04fe83c18c49beccc8ede364663
|
|
| BLAKE2b-256 |
a1392b14759078ce9060d01d9dde6c500df453259b2b9bb38f6a48fbdaf73e31
|
File details
Details for the file barycenters-1.0.0-py3-none-any.whl.
File metadata
- Download URL: barycenters-1.0.0-py3-none-any.whl
- Upload date:
- Size: 5.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
75ec69f3207ef135848664ef44a5981f4b1d605747ea8028141b1e4df209e8ca
|
|
| MD5 |
52f8b307be91c5f9ce7ecc858288b85d
|
|
| BLAKE2b-256 |
01b62efc114a7f9d68c7671545d9ec36c93d73443e085b880ae209e818f5ea5c
|