Skip to main content

Briefcase AI SDK

License: Apache-2.0

Governance infrastructure for AI decisions: enforce controls, record context, replay later.

Install

pip install briefcase-ai

Quick Example

import briefcase

briefcase.observe("console")          # send records to stderr (or "memory" / "runs.jsonl")

@briefcase.capture(decision_type="classify_text")
def classify(text: str) -> str:
    return text.upper()

classify("hello world")               # a decision record is emitted

capture works immediately — no briefcase.init() required. Call init() only when you use the native runtime features (storage backends, snapshots). Without a call to briefcase.observe(...) (or briefcase.setup(exporter=...)), @capture records decisions but has nowhere to send them.

Exporters. briefcase.observe(...) accepts "console", "memory" (records collected on exporter.records), a "*.jsonl" path, or any briefcase.exporters.BaseExporter instance — subclass BaseExporter to ship records to your own backend.

Evaluations and RL

Two bridges emit decision records from work that is not a single function call. Both use the exporter you already configured.

from briefcase.integrations.evals import EvalRun, from_inspect_log, replay

with EvalRun("gsm8k", model="claude-opus-5") as run:   # one eval.case per case,
    run.log_case("q1", inputs=q, outputs=a, passed=a == target)   # one eval.run
print(run.summary()["pass_rate"])

replay(from_inspect_log("logs/2026-08-12_gsm8k.eval"))  # inspect-ai .json/.eval

The parsers are stdlib only and never import the eval framework, so a log can be replayed on a machine that has neither installed. See examples/eval_runs/.

from briefcase.integrations.gym import GuardrailGymEnv, capture_episodes

env = GuardrailGymEnv(guardrail, tasks, injections)  # a guardrail as a gym.Env
env = capture_episodes(env)                          # rl.step / rl.episode records

Needs pip install briefcase-ai[gym]. See examples/rl_gym/.

capture_episodes exports on a background thread by default, since step capture is on the hot path. A script that exits right after close() can lose its records; pass capture_episodes(env, async_capture=False) in short runs. EvalRun already defaults to async_capture=False for that reason.

Logging

The library is silent by default (it installs only a NullHandler). Turn on visible logs explicitly:

import briefcase
briefcase.enable_logging("DEBUG")     # or set BRIEFCASE_LOG_LEVEL=DEBUG

Using with AI tools (Cursor, Claude Code, Codex, …)

This repo ships machine-readable usage guidance: llms.txt / llms-full.txt, an AGENTS.md, and copy-paste editor rules under docs/llm/. An MCP server is available via pip install briefcase-ai[mcp] then briefcase-mcp.

Extras

Extra Description
replay Deterministic replay engine for recorded decisions
drift Drift scoring and cost calculation for model outputs
sanitize Built-in PII redaction utilities
otel OpenTelemetry helpers
storage Rust-backed SQLite storage engine
validate Prompt validation engine
guardrails Guardrail framework, wrappers, and registries
rag Versioned embedding pipeline and instrumented retrieval
rag-chroma / rag-pinecone / rag-weaviate Vector-store adapters (each adds its client)
correlation Workflow and trace correlation helpers
external External data snapshot tracking
events Structured event type and emitter interface
kafka / webhook / gcp-logging Event transports and the Cloud Logging exporter (webhook is stdlib)
routing Router protocol, agent router, versioned policy registry
opa OPA HTTP router with cached decisions and internal-router fallback (adds httpx)
lakefs lakeFS versioned storage client, branch manager, lineage, staged commits
vcs VCS client base protocol plus DVC, Nessie, Pachyderm, ArtiVC, DuckLake, Iceberg, and git-LFS adapters
vcs-dvc / vcs-pachyderm / vcs-ducklake / vcs-iceberg Per-provider VCS clients (the rest are HTTP/subprocess based)
gym Gymnasium bridge: guardrail env adapter and RL episode capture
evals Eval-harness bridge: EvalRun logger, inspect-ai / lm-eval parsers (adds zstandard for .eval archives on Python < 3.14)
bitemporal Bitemporal evidence store, as-of views, append-only corrections
bitemporal-iceberg pyiceberg-backed bitemporal store (any supported catalog)
bitemporal-glue AWS Glue catalog auth for the Iceberg backend (adds boto3)
kdb kdb+ bitemporal backend (adds KX-licensed pykx; excluded from all)
compliance Examiner bundles joining decision, evidence, and policy version
compliance-kms KMS-signed examiner bundles against your own AWS KMS key (adds boto3)
controls Gateway, quota, throttle classification, and retry (no extra dependencies)
integrity Tamper-evident hash chains, canonical JSON, Ed25519 signing over digests and JSON manifests (signing adds pynacl)
langchain / crewai / llamaindex / autogen / ag2 / pageindex / openai-agents Framework auto-instrumentation via briefcase.auto (each adds its framework)
mcp MCP server (briefcase-mcp) exposing the SDK to AI agents
dev Dev tooling: pytest, mypy, flake8, moto
all Installs every optional extra listed above except kdb

Most features are native- or pure-Python-backed and ship with the base package — their extras (replay, drift, sanitize, storage, routing, bitemporal, compliance, …) are convenience groupings that pull in no additional dependencies. The extras that install third-party packages are otel, lakefs, bitemporal-iceberg, bitemporal-glue, kdb, compliance-kms, gym, evals, mcp, opa, kafka, gcp-logging, integrity, the rag-* and vcs-* store adapters, and the framework auto-instrumentation extras.

Managed platform

Every library feature runs against infrastructure you own: storage backends (in-memory, SQLite, pyiceberg, Glue-authenticated Iceberg, kdb+), KMS-signed examiner bundles, guardrails, RBAC/ABAC/OPA policy evaluation, routing, replay, framework auto-instrumentation (briefcase.auto), lakeFS branching and lineage, vector-store and VCS adapters, event transports, and the controls layer, in both Python and TypeScript (@briefcase-ai/controls).

The commercial offering is the hosted platform, not gated code: a managed control plane, catalog provisioning and credential brokering, operational runbooks (DR failover, catalog migration, key rotation), certified retention and regulator attestations, licensed market-data ingest (Bloomberg BPIPE, Refinitiv, ICE), and SOC 2 / FedRAMP posture with SLA support.

Contact sales@briefcasebrain.com for the managed platform.

Telemetry

The SDK can report anonymous usage metrics (SDK version, OS, architecture, backend type) to help prioritize development. No personal data or decision content is ever collected. Telemetry is only transmitted when a collection endpoint is configured via BRIEFCASE_API_URL (it defaults to localhost, i.e. a no-op), and you can disable it entirely at any time:

export BRIEFCASE_TELEMETRY=0   # also accepts: false, no, off (case-insensitive)

Release files for briefcase-ai 4.3.1

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

Source distribution (sdist)

Source distribution for briefcase-ai 4.3.1
File Size Uploaded
briefcase_ai-4.3.1.tar.gz 335.6 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for briefcase-ai 4.3.1
File
briefcase_ai-4.3.1-cp39-abi3-win_amd64.whl CPython 3.9 abi3 Windows x86-64 Details
briefcase_ai-4.3.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 abi3 Linux glibc 2.17+ x86-64 Details
briefcase_ai-4.3.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.9 abi3 Linux glibc 2.17+ ARM64 Details
briefcase_ai-4.3.1-cp39-abi3-macosx_11_0_arm64.whl CPython 3.9 abi3 macOS 11.0+ ARM64 Details
briefcase_ai-4.3.1-cp39-abi3-macosx_10_12_x86_64.whl CPython 3.9 abi3 macOS 10.12+ x86-64 Details

Total release size: 40.5 MB

Release files / briefcase_ai-4.3.1.tar.gz

Download URL briefcase_ai-4.3.1.tar.gz
Size 335.6 kB
Tags Source
SHA-256 checksum
How to use checksums
7c581d8b886a9155f6773fa1599b429d1c414d26988357baa62031b4e20e1d91
BLAKE2b-256 checksum
How to use checksums
43e991f0704ded31d0b53f021efeef82adaa989e9793343b66acba874f0005db
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 25, 2026.

Transparency log

Release files / briefcase_ai-4.3.1-cp39-abi3-win_amd64.whl

Download URL briefcase_ai-4.3.1-cp39-abi3-win_amd64.whl
Size 7.6 MB
Tags CPython 3.9 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
cc3092b5dc655fbae443c68158d8a5cac9640bf0cfcb9e54dda6294eb60431b7
BLAKE2b-256 checksum
How to use checksums
45c7ed2f6cb1326a82eb9bf98787c532021f6e33f6a879d563dbeb49cacdc0bc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 25, 2026.

Transparency log

Release files / briefcase_ai-4.3.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL briefcase_ai-4.3.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 8.3 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
8cc019cfaa4fc325c12d1ba1c103d89bd525a6a84b899090073221dbc4d08e5b
BLAKE2b-256 checksum
How to use checksums
312ea54bf18997d6caf6d11316df1a347813f8db1ad44464d57cce8bdfe216f0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 25, 2026.

Transparency log

Release files / briefcase_ai-4.3.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL briefcase_ai-4.3.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 8.4 MB
Tags CPython 3.9 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
33bb879ea397e026f04a6cc36e4892e2f14e0c67bbdb73f9e34c91dd3d15910d
BLAKE2b-256 checksum
How to use checksums
952d36173066cc0fba09bd4509b7a87d915262f37f8f8debed7dfe39cb388629
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 25, 2026.

Transparency log

Release files / briefcase_ai-4.3.1-cp39-abi3-macosx_11_0_arm64.whl

Download URL briefcase_ai-4.3.1-cp39-abi3-macosx_11_0_arm64.whl
Size 7.9 MB
Tags CPython 3.9 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
94a8c96f100bf228df663053cda6bf2f07f4265a9004296e80dc5bf29cc46826
BLAKE2b-256 checksum
How to use checksums
182aba7dd9c449aa6811a8614d05b7c43a515a3488c1e8200ce627b53b58fe5e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 25, 2026.

Transparency log

Release files / briefcase_ai-4.3.1-cp39-abi3-macosx_10_12_x86_64.whl

Download URL briefcase_ai-4.3.1-cp39-abi3-macosx_10_12_x86_64.whl
Size 8.0 MB
Tags CPython 3.9 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
cd15192f83c210ef592e349eacf3d4f08d37f392c9f4448a8d74a51869fc6dca
BLAKE2b-256 checksum
How to use checksums
af96f2111cf8661b60f574237efd87070ce3aca87bc7335c3fcfe55f3d49a72f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Sep 25, 2026.

Transparency log

Release history Release notifications | RSS feed

4.4.0

5 release files

This release

4.3.1 This release

6 release files

4.3.0

5 release files

4.2.0

5 release files

4.1.0

5 release files

4.0.1

5 release files

4.0.0

5 release files

3.3.0

5 release files

3.2.2

5 release files

3.2.1

5 release files

3.2.0

9 release files

3.0.0

4 release files

2.4.1

4 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