Metadata-Version: 2.4
Name: prismbrain
Version: 0.1.1
Summary: AI-native error tracking and observability for Python applications
Project-URL: Homepage, https://prismbrain.co
Project-URL: Documentation, https://prismbrain.co/docs
Project-URL: Repository, https://github.com/MSaiRam10/PrismBrain.dev
Project-URL: Issues, https://github.com/MSaiRam10/PrismBrain.dev/issues
Author-email: PrismBrain <contact@prismbrain.co>
License-Expression: MIT
Keywords: ai,anthropic,debugging,error-tracking,llm,observability,openai,tracing
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Debuggers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Python: >=3.8
Requires-Dist: httpx>=0.24
Provides-Extra: django
Requires-Dist: django; extra == 'django'
Provides-Extra: fastapi
Requires-Dist: fastapi; extra == 'fastapi'
Provides-Extra: flask
Requires-Dist: flask; extra == 'flask'
Description-Content-Type: text/markdown

# prismbrain

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

## Installation

```bash
pip install prismbrain
```

## Quick Start

```python
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

```python
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

```python
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

```python
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

```python
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

```python
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`:

```python
PRISMBRAIN_API_KEY = "gb_your_key"

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

## Publishing to PyPI

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

## License

MIT
