Metadata-Version: 2.4
Name: agentlogs-sdk
Version: 0.1.0
Summary: Python SDK for AgentLogs — open-source observability for AI agents
Project-URL: Homepage, https://agentlogs.app
Project-URL: Documentation, https://agentlogs.app/docs
Project-URL: Repository, https://github.com/infosiva/agenttrace
Project-URL: Issues, https://github.com/infosiva/agenttrace/issues
Author-email: AgentLogs <info.siva@gmail.com>
License-Expression: MIT
Keywords: agents,ai,crewai,langchain,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.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Debuggers
Classifier: Topic :: System :: Monitoring
Requires-Python: >=3.9
Requires-Dist: httpx>=0.27.0
Requires-Dist: pydantic>=2.0.0
Requires-Dist: python-dotenv>=1.0.0
Provides-Extra: anthropic
Requires-Dist: anthropic>=0.18.0; extra == 'anthropic'
Provides-Extra: dev
Requires-Dist: black>=24.0.0; extra == 'dev'
Requires-Dist: build>=1.0.0; extra == 'dev'
Requires-Dist: mypy>=1.8.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: ruff>=0.2.0; extra == 'dev'
Requires-Dist: twine>=5.0.0; extra == 'dev'
Provides-Extra: langchain
Requires-Dist: langchain>=0.1.0; extra == 'langchain'
Provides-Extra: openai
Requires-Dist: openai>=1.0.0; extra == 'openai'
Description-Content-Type: text/markdown

# AgentLogs SDK (Python)

Open-source observability for AI agents. Trace every LLM call, tool use, error, and cost.

```bash
pip install agentlogs-sdk
```

## Quickstart

```python
import asyncio
from agentlogs import AgentLogs, StepType

async def main():
    # Reads AGENTLOGS_API_KEY from env, defaults to https://agentlogs.app
    client = AgentLogs()

    async with await client.create_trace(name="research-agent") as trace:
        async with trace.step("search", step_type=StepType.TOOL) as s:
            # ... your tool call
            pass

        await trace.add_step(
            name="gpt-4o",
            step_type=StepType.LLM,
            metadata={"model": "gpt-4o", "provider": "openai"},
            tokens=1234,
            cost=0.012,
        )

asyncio.run(main())
```

## Configuration

```python
from agentlogs import configure

configure(
    api_key="al_...",                  # or set AGENTLOGS_API_KEY
    api_url="https://agentlogs.app",   # default
    project="my-agent",
)
```

Env vars:
- `AGENTLOGS_API_KEY` — get one from https://agentlogs.app/settings
- `AGENTLOGS_API_URL` — override for self-hosted instances
- `AGENTLOGS_PROJECT` — default project name

## Decorator API

```python
from agentlogs import trace_agent

@trace_agent()
async def my_agent(query: str):
    return await llm.generate(query)
```

## Self-hosting

Point the SDK at your own deployment:

```python
configure(api_url="https://logs.your-company.com")
```

## Links

- Website: https://agentlogs.app
- Docs: https://agentlogs.app/docs
- Source: https://github.com/infosiva/agenttrace

MIT licensed.
