AI-native error tracking and observability for Python applications
Project description
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"}]
)
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
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
prismbrain-0.1.1.tar.gz
(7.9 kB
view details)
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 prismbrain-0.1.1.tar.gz.
File metadata
- Download URL: prismbrain-0.1.1.tar.gz
- Upload date:
- Size: 7.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
604e1c5c9de8f705c821440d1532267849409f54f6eba08680158096070e900f
|
|
| MD5 |
bdc7dd5f72a99be54d404c0e1a5ad2da
|
|
| BLAKE2b-256 |
3dbc0e00204e03dd0eef0a606d5f960ae59b5023ae4d5bc52e66655aafcad770
|
File details
Details for the file prismbrain-0.1.1-py3-none-any.whl.
File metadata
- Download URL: prismbrain-0.1.1-py3-none-any.whl
- Upload date:
- Size: 9.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ddaa2899bcd4698a8bcf9215b54e0c13f5e6f4abecd9b0f7276741927a0abd47
|
|
| MD5 |
6375d16a195fa31871233de4b56a4846
|
|
| BLAKE2b-256 |
5071548bc6d0a42fc8d618340ee1a6d7bc8c43bfa46eb6100713cabfca581147
|