Skip to main content

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 urllib only; 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

barycenters-1.0.0.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

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

barycenters-1.0.0-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

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

Hashes for barycenters-1.0.0.tar.gz
Algorithm Hash digest
SHA256 ddd2e4c678fb4527a2b999ad3d354dc298cc4b2d12c888fe893cbb125dbabe5b
MD5 c205b04fe83c18c49beccc8ede364663
BLAKE2b-256 a1392b14759078ce9060d01d9dde6c500df453259b2b9bb38f6a48fbdaf73e31

See more details on using hashes here.

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

Hashes for barycenters-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 75ec69f3207ef135848664ef44a5981f4b1d605747ea8028141b1e4df209e8ca
MD5 52f8b307be91c5f9ce7ecc858288b85d
BLAKE2b-256 01b62efc114a7f9d68c7671545d9ec36c93d73443e085b880ae209e818f5ea5c

See more details on using hashes here.

Supported by

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