Metadata-Version: 2.4
Name: fibinaci
Version: 0.1.1
Summary: Python SDK for Fibinaci — universal AI activity data layer
Project-URL: Homepage, https://fibinaci.com
Project-URL: Documentation, https://docs.fibinaci.com/sdks/python
Project-URL: Repository, https://github.com/fibinaci/fibinaci-python
Author-email: Fibinaci <sdk@fibinaci.com>
License-Expression: MIT
Keywords: ai,llm,monitoring,observability,tracing
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
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.10
Requires-Dist: httpx>=0.25.0
Requires-Dist: pydantic>=2.5.0
Provides-Extra: all
Requires-Dist: anthropic>=0.20.0; extra == 'all'
Requires-Dist: cryptography>=41.0.0; extra == 'all'
Requires-Dist: openai>=1.0.0; extra == 'all'
Provides-Extra: anthropic
Requires-Dist: anthropic>=0.20.0; extra == 'anthropic'
Provides-Extra: dev
Requires-Dist: anthropic>=0.20.0; extra == 'dev'
Requires-Dist: openai>=1.0.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: respx>=0.21.0; extra == 'dev'
Provides-Extra: encryption
Requires-Dist: cryptography>=41.0.0; extra == 'encryption'
Provides-Extra: openai
Requires-Dist: openai>=1.0.0; extra == 'openai'
Description-Content-Type: text/markdown

# fibinaci

Python SDK for [Fibinaci](https://fibinaci.com) — universal AI activity data layer.

## Install

```bash
pip install fibinaci
```

## Quick start

```python
import fibinaci

# Auto-instrument OpenAI, Anthropic, etc.
fibinaci.instrument()

# Or use manual tracing
from fibinaci import trace, span, outcome

with trace("my-workflow"):
    with span("step-1", span_kind="model_call"):
        pass
    outcome(success=True, score=0.95)
```

## Configuration

Set via environment variables or pass to client:

```bash
export FIBINACI_API_KEY=fib_live_sk_...
export FIBINACI_BASE_URL=https://api.fibinaci.com  # default
```

```python
from fibinaci import Fibinaci

client = Fibinaci(api_key="fib_live_sk_...")
traces = client.traces.list()
```

## Testing

```python
from fibinaci._testing import MockFibinaci

mock = MockFibinaci()
# ... run your code ...
spans = mock.get_spans()
assert len(spans) == 3
```
