Skip to main content

prismbrain

AI-native error tracking and observability for Python applications. Captures errors, LLM calls, and application traces with AI-powered fix suggestions.

Installation

pip install prismbrain

Quick Start

import os
import prismbrain

gb = prismbrain.PrismBrain(api_key="gb_your_key")

# Capture errors
try:
    risky_operation()
except Exception as e:
    gb.capture_error(e, metadata={"user_id": "123"})

# Capture warnings and info
gb.capture_warning("Disk usage above 90%")
gb.capture_info("Deployment completed", metadata={"version": "1.2.0"})

# Get AI fix suggestions for a trace
suggestions = gb.get_suggestions(
    trace_id="...",
    provider_keys={"anthropic": os.environ["ANTHROPIC_API_KEY"]},
    # Or use {"openai": os.environ["OPENAI_API_KEY"]}
)

Auto-trace OpenAI calls

from openai import OpenAI
import prismbrain

gb = prismbrain.PrismBrain(api_key="gb_your_key")
client = prismbrain.wrap_openai(OpenAI(), gb)

# All completions are now traced automatically
response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Hello"}]
)

Auto-trace Anthropic calls

from anthropic import Anthropic
import prismbrain

gb = prismbrain.PrismBrain(api_key="gb_your_key")
client = prismbrain.wrap_anthropic(Anthropic(), gb)

response = client.messages.create(
    model="claude-sonnet-4-20250514",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello"}]
)

Group OpenAI and Anthropic calls into one trace

When one user request makes multiple wrapped provider calls, put them in a single trace_run scope. PrismBrain sends one trace with each provider call as a child node:

with gb.trace_run("user request"):
    openai_response = openai_client.chat.completions.create(...)
    anthropic_response = anthropic_client.messages.create(...)

Calls outside a trace_run scope continue to create one trace per provider request.

LangChain

Install the optional LangChain integration:

pip install "prismbrain[langchain]" langchain-openai

Attach the callback handler to LangChain models:

import os
import prismbrain
from langchain_openai import ChatOpenAI

pb = prismbrain.PrismBrain(api_key=os.environ["PRISMBRAIN_API_KEY"])
handler = prismbrain.PrismBrainCallbackHandler(pb)
llm = ChatOpenAI(model="gpt-4o-mini", callbacks=[handler])

Every invoke, tool call, error, token count, and measured latency is captured automatically.

LangGraph

Install the optional LangGraph integration:

pip install "prismbrain[langgraph]" langgraph langchain-openai

Pass the same handler through the compiled graph config:

graph.invoke(state, config={"callbacks": [handler]})

This captures graph nodes, nested chains, LLM calls, tools, errors, real latency, and token usage without manual trace() calls.

Decorators

import prismbrain

gb = prismbrain.PrismBrain(api_key="gb_your_key")

@prismbrain.trace_function(gb)
def process_data(items):
    # Automatically traces errors and performance
    ...

@prismbrain.trace_endpoint(gb)
def handle_request():
    # Traces API endpoint calls
    ...

Framework Middleware

FastAPI

from fastapi import FastAPI
import prismbrain
from prismbrain.middleware import FastAPIMiddleware

app = FastAPI()
gb = prismbrain.PrismBrain(api_key="gb_your_key")
app.add_middleware(FastAPIMiddleware, prismbrain=gb)

Flask

from flask import Flask
import prismbrain
from prismbrain.middleware import FlaskMiddleware

app = Flask(__name__)
gb = prismbrain.PrismBrain(api_key="gb_your_key")
FlaskMiddleware(app, prismbrain=gb)

Django

Add to settings.py:

PRISMBRAIN_API_KEY = "gb_your_key"

MIDDLEWARE = [
    "prismbrain.middleware.DjangoMiddleware",
    ...
]

Publishing to PyPI

cd packages/prismbrain-python
pip install build twine
python -m build
twine upload dist/*

License

MIT

Metadata

Release files for prismbrain 0.1.5

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

Source distribution (sdist)

Source distribution for prismbrain 0.1.5
File Size Uploaded Provenance Actions
prismbrain-0.1.5.tar.gz 11.2 kB Without provenance Details for prismbrain-0.1.5.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for prismbrain 0.1.5
File Interpreter ABI Platform Actions
prismbrain-0.1.5-py3-none-any.whl Python 3 none any Details for prismbrain-0.1.5-py3-none-any.whl

Total release size: 24.7 kB

Release files / prismbrain-0.1.5.tar.gz

Download URL prismbrain-0.1.5.tar.gz
Size 11.2 kB
Tags Source
SHA-256 checksum
How to use checksums
9613a865e9198127cccd1a38cc7aa1e53eb0007b4cf8a7f7bf0d3f964e453cdb
BLAKE2b-256 checksum
How to use checksums
98939b499b6eaf1c7be2cbd0d1531650e3d4a723bd59e1cbb57497299c5a7a61
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.9

Release files / prismbrain-0.1.5-py3-none-any.whl

Download URL prismbrain-0.1.5-py3-none-any.whl
Size 13.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ae9e6051add266d46904cf68d5e7e192c7ba7a27edc91d075d824c34ea4a0491
BLAKE2b-256 checksum
How to use checksums
ce27721192559f2852578bcffd06fc8b60abdc339d3ea38de1a3632406c0e14f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.9

Security for prismbrain 0.1.5

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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