Metadata-Version: 2.4
Name: magic-lab-observer
Version: 0.1.1
Summary: Python SDK for LLM Observatory - Open-source LLM observability
Project-URL: Homepage, https://github.com/Magic-Lab-Studio/observer
Project-URL: Repository, https://github.com/Magic-Lab-Studio/observer.git
Project-URL: Issues, https://github.com/Magic-Lab-Studio/observer/issues
Author: LLM Observatory Contributors
License-Expression: Apache-2.0
Keywords: anthropic,llm,observability,openai,tracing
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.10
Requires-Dist: httpx>=0.27.0
Provides-Extra: all
Requires-Dist: anthropic>=0.20.0; extra == 'all'
Requires-Dist: langchain-core>=0.2.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: mypy>=1.10; extra == 'dev'
Requires-Dist: pytest-cov>=5.0; 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.0; extra == 'langchain'
Provides-Extra: openai
Requires-Dist: openai>=1.0.0; extra == 'openai'
Description-Content-Type: text/markdown

# LLM Observatory Python SDK

Open-source LLM observability SDK for tracing and monitoring AI applications.

## Installation

```bash
pip install magic-lab-observer
```

With optional integrations:

```bash
pip install magic-lab-observer[openai,anthropic,langchain]
```

## Quick Start

The distribution name is `magic-lab-observer`; the stable Python import remains
`llm_observatory`.

```python
from llm_observatory import instrument, trace

# Auto-instrument LLM libraries
instrument(openai=True, anthropic=True)

# Or manually trace functions
@trace(name="summarize")
def summarize(text: str):
    return openai.chat.completions.create(
        model="gpt-4",
        messages=[{"role": "user", "content": text}]
    )
```

## License

Apache License 2.0
