Metadata-Version: 2.4
Name: blitz-sdk
Version: 0.4.0
Summary: Drop-in OpenTelemetry tracing for OpenAI, Anthropic, and Gemini LLM calls. Captures full I/O, token usage, model, latency, and cost to a local SQLite file.
Requires-Python: >=3.9
Requires-Dist: opentelemetry-api>=1.27.0
Requires-Dist: opentelemetry-sdk>=1.27.0
Requires-Dist: tomlkit>=0.12
Provides-Extra: all
Requires-Dist: opentelemetry-instrumentation-anthropic>=0.33.0; extra == 'all'
Requires-Dist: opentelemetry-instrumentation-google-generativeai>=0.33.0; extra == 'all'
Requires-Dist: opentelemetry-instrumentation-openai>=0.33.0; extra == 'all'
Provides-Extra: anthropic
Requires-Dist: opentelemetry-instrumentation-anthropic>=0.33.0; extra == 'anthropic'
Provides-Extra: dev
Requires-Dist: pytest>=8; extra == 'dev'
Provides-Extra: gemini
Requires-Dist: opentelemetry-instrumentation-google-generativeai>=0.33.0; extra == 'gemini'
Provides-Extra: openai
Requires-Dist: opentelemetry-instrumentation-openai>=0.33.0; extra == 'openai'
Description-Content-Type: text/markdown

# blitz

Drop-in OpenTelemetry tracing for OpenAI, Anthropic, and Gemini LLM calls, captured locally.

```python
import blitz

blitz.init(service_name="mechanic-assistant")

with blitz.workflow("mechanic-assistant"):
    response = client.messages.create(...)
```

After `init()`, any instrumented provider call in this process is traced and written to a
local SQLite file (`./.blitz/traces.db` by default — override with `BLITZ_LOCAL_DIR`,
`local_dir=`, or a repo-root `blitz.toml`'s `[capture] local_dir`). Inspect them with the
`blitz-cli` package:

```bash
blitz traces list --local
blitz traces show <trace_id> --local
```

`project_id` is optional — pass it (or set `BLITZ_PROJECT`, or `blitz init` writes it into
`blitz.toml`) to tag every span for later filtering.
