Skip to main content

ATB (Agent Trace Bundle) Python SDK - local-first, tamper-evident audit trails for AI workflows

Project description

ATB Python SDK

The official Python SDK for ATB (Agent Trace Bundle) - local-first, tamper-evident audit trails for AI workflows.

Installation

pip install atb-sdk

Use this package when you need to write or verify bundles from Python code. The Go CLI remains the authoritative CLI path:

go install github.com/pcguest/atb/cmd/atb@latest

The package does not include a standalone ATB CLI. The installed atb command is a compatibility stub that prints Go CLI install guidance and will be removed in a future major release.

With LangChain integration:

pip install atb-sdk[langchain]

Quick Start

from atb import Bundle

# Create a new bundle in Python
bundle = Bundle()

# Append events
bundle.append("dev.session", {
    "date": "2025-01-15",
    "features_built": ["hash chaining", "CLI init"],
    "blockers": ["RFC 8785 library compatibility"],
})

bundle.append("decision", {
    "choice": "Go over Rust for CLI",
    "reason": "Solo founder velocity",
    "alternatives": ["Rust", "Python-only"],
})

# Save to disk
bundle.save("run.atb/bundle.atb")

# Later - reload and verify integrity
b = Bundle.load("run.atb/bundle.atb")
b.verify()  # Raises ATBVerificationError if tampered
print(f"Verified {len(b)} events - chain intact.")

LangChain Integration

from atb import Bundle
from atb.langchain_callback import ATBCallbackHandler
from langchain.chat_models import ChatOpenAI

bundle = Bundle()
handler = ATBCallbackHandler(bundle, auto_save=True)

llm = ChatOpenAI(callbacks=[handler])
# All LLM calls are now automatically recorded in the bundle.

The deprecated shim import path atb.integrations.langchain.ATBCallbackHandler still works for compatibility, but it emits a DeprecationWarning. Use atb.langchain_callback.ATBCallbackHandler for new code.

Licence

MIT

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

atb_sdk-1.8.1.tar.gz (22.8 kB view details)

Uploaded Source

Built Distribution

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

atb_sdk-1.8.1-py3-none-any.whl (19.6 kB view details)

Uploaded Python 3

File details

Details for the file atb_sdk-1.8.1.tar.gz.

File metadata

  • Download URL: atb_sdk-1.8.1.tar.gz
  • Upload date:
  • Size: 22.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for atb_sdk-1.8.1.tar.gz
Algorithm Hash digest
SHA256 b81c9662a0772c3c16559b45838bd46a81e26926460e9a744e0801b4f68b3577
MD5 c5a87678146c2ae37b040cde88b0b0c7
BLAKE2b-256 605a1eee480dce0af3fb4ab8e9dc638ffcde52dbb927e606d5d1fa4a6569f981

See more details on using hashes here.

Provenance

The following attestation bundles were made for atb_sdk-1.8.1.tar.gz:

Publisher: release.yml on pcguest/atb

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

File details

Details for the file atb_sdk-1.8.1-py3-none-any.whl.

File metadata

  • Download URL: atb_sdk-1.8.1-py3-none-any.whl
  • Upload date:
  • Size: 19.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for atb_sdk-1.8.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e3541b3cac6681ff5a2ec174885bf28a2a71683fa0709f63329e8a50ce74815b
MD5 2a3a9050be94873cf8b8714918f0f0be
BLAKE2b-256 a422781e941bd3dc25c269c61e1b1f03bd9bb83078600b904684fadc766b015f

See more details on using hashes here.

Provenance

The following attestation bundles were made for atb_sdk-1.8.1-py3-none-any.whl:

Publisher: release.yml on pcguest/atb

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