Metadata-Version: 2.4
Name: runcentra
Version: 0.1.0
Summary: AgentOps SDK for teams shipping AI agents
Project-URL: Homepage, https://runcentra.com
Project-URL: Documentation, https://docs.runcentra.com
Project-URL: Repository, https://github.com/runcentra/runcentra
Project-URL: Issues, https://github.com/runcentra/runcentra/issues
License: Apache-2.0
Keywords: agentops,agents,llm,observability,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
Classifier: Topic :: Software Development :: Libraries
Classifier: Typing :: Typed
Requires-Python: >=3.10
Requires-Dist: httpx>=0.25
Requires-Dist: pydantic>=2.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: typer>=0.9.0
Requires-Dist: typing-extensions>=4.0; python_version < '3.11'
Provides-Extra: dev
Requires-Dist: mypy>=1.0; extra == 'dev'
Requires-Dist: pydantic>=2.0; extra == 'dev'
Requires-Dist: pytest-cov>=4.0; extra == 'dev'
Requires-Dist: pytest>=7.0; extra == 'dev'
Requires-Dist: ruff>=0.1; extra == 'dev'
Requires-Dist: uvicorn>=0.20; extra == 'dev'
Description-Content-Type: text/markdown

# Run Centra SDK

AgentOps for teams shipping AI agents. Instrument your Python agent in minutes and inspect every run, tool call, model call, cost, and error in the Run Centra dashboard.

## Install

```bash
pip install runcentra
```

## Quick start

```python
from runcentra import Agent, tool, RunContext

@tool(name="say_hello", scopes=["io.write"], risk_level="read_only")
def say_hello(ctx: RunContext, name: str) -> str:
    return f"Hello, {name}!"

agent = Agent(
    id="hello-agent",
    name="Hello Agent",
    version="0.1.0",
    model="gpt-4.1-mini",
    tools=[say_hello],
)

@agent.task
def run(ctx: RunContext, input: dict) -> dict:
    greeting = say_hello(ctx, input["name"])
    return {"greeting": greeting}

if __name__ == "__main__":
    agent.run({"name": "world"})
```

## Docs

https://docs.runcentra.com
