Metadata-Version: 2.4
Name: nebeso
Version: 0.1.0
Summary: Open source AI cost tracking for OpenAI and Anthropic
Project-URL: Homepage, https://nebeso.com
Author: NeBeso Contributors
License: Apache-2.0
Keywords: ai,anthropic,cost,llm,observability,openai,tokens,tracking
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
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: Topic :: Software Development :: Libraries
Requires-Python: >=3.9
Requires-Dist: httpx>=0.27.0
Provides-Extra: anthropic
Requires-Dist: anthropic>=0.20.0; extra == 'anthropic'
Provides-Extra: bedrock
Requires-Dist: boto3>=1.28; extra == 'bedrock'
Provides-Extra: dev
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
Requires-Dist: pytest-httpx>=0.30; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.5; extra == 'dev'
Provides-Extra: langchain
Requires-Dist: langchain-core>=0.2; extra == 'langchain'
Provides-Extra: llamaindex
Requires-Dist: llama-index-core>=0.10; extra == 'llamaindex'
Provides-Extra: openai
Requires-Dist: openai>=1.0.0; extra == 'openai'
Description-Content-Type: text/markdown

# TokenBudget

> Open source AI cost tracking. One line to start tracking.

## Install

```bash
pip install tokenbudget
```

## Quick Start

```python
import openai, tokenbudget

client = tokenbudget.wrap(
    openai.Client(),
    api_key="tb_ak_..."  # free at tokenbudget.com
)

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Hello!"}]
)
# Everything tracked automatically in your dashboard
```

## Anthropic Support

```python
import anthropic, tokenbudget

client = tokenbudget.wrap(
    anthropic.Anthropic(),
    api_key="tb_ak_..."
)

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

## Features

- **One line integration** — wrap your existing client, done
- **Zero latency impact** — tracking runs in background
- **Feature tagging** — know cost per feature, user, project
- **Multi-provider** — OpenAI + Anthropic (Gemini coming soon)
- **Privacy first** — we never store prompts, responses, or API keys

## Tagging

```python
with tokenbudget.tags(feature="chatbot", user_id="user-123"):
    response = client.chat.completions.create(...)
```

## Dashboard

See your costs at [tokenbudget.com](https://tokenbudget.com) — broken down by
feature, user, model, and project.

## Self-Hosting

```bash
# Copy or extract the project folder, then:
cd tokenbudget-main
docker compose up -d
```

## License

Apache 2.0 — Free for personal and open source use.
Commercial use requires license. See [LICENSE](../LICENSE).
