Metadata-Version: 2.4
Name: risicare
Version: 0.1.2
Summary: Risicare SDK - Observability and self-healing for AI agents
Project-URL: Homepage, https://risicare.ai
Project-URL: Documentation, https://risicare.ai/docs
Project-URL: Repository, https://github.com/risicare/risicare-sdk
Project-URL: Changelog, https://github.com/risicare/risicare-sdk/blob/main/CHANGELOG.md
Author-email: Risicare <founders@risicare.ai>
License: MIT
Keywords: agents,ai,llm,observability,self-healing,tracing
Classifier: Development Status :: 3 - Alpha
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 :: Python Modules
Classifier: Topic :: System :: Monitoring
Requires-Python: >=3.10
Requires-Dist: httpx>=0.27.0
Requires-Dist: risicare-core>=0.1.0
Requires-Dist: wrapt>=1.16.0
Provides-Extra: all
Requires-Dist: autogen-agentchat>=0.4.0; extra == 'all'
Requires-Dist: boto3>=1.34.0; extra == 'all'
Requires-Dist: cerebras-cloud-sdk>=1.0.0; extra == 'all'
Requires-Dist: crewai>=0.50.0; extra == 'all'
Requires-Dist: dspy>=2.5.0; extra == 'all'
Requires-Dist: google-cloud-aiplatform>=1.40.0; extra == 'all'
Requires-Dist: groq>=0.4.0; extra == 'all'
Requires-Dist: huggingface-hub>=0.20.0; extra == 'all'
Requires-Dist: instructor>=1.0.0; extra == 'all'
Requires-Dist: langchain-core>=0.2.0; extra == 'all'
Requires-Dist: langgraph>=0.2.0; extra == 'all'
Requires-Dist: litellm>=1.30.0; extra == 'all'
Requires-Dist: llama-index-core>=0.10.20; extra == 'all'
Requires-Dist: ollama>=0.1.0; extra == 'all'
Requires-Dist: openai-agents>=0.1.0; extra == 'all'
Requires-Dist: opentelemetry-api>=1.20.0; extra == 'all'
Requires-Dist: opentelemetry-sdk>=1.20.0; extra == 'all'
Requires-Dist: pydantic-ai>=0.1.0; extra == 'all'
Requires-Dist: together>=1.0.0; extra == 'all'
Provides-Extra: autogen
Requires-Dist: autogen-agentchat>=0.4.0; extra == 'autogen'
Provides-Extra: bedrock
Requires-Dist: boto3>=1.34.0; extra == 'bedrock'
Provides-Extra: cerebras
Requires-Dist: cerebras-cloud-sdk>=1.0.0; extra == 'cerebras'
Provides-Extra: crewai
Requires-Dist: crewai>=0.50.0; extra == 'crewai'
Provides-Extra: dev
Requires-Dist: mypy>=1.8.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.21.0; extra == 'dev'
Requires-Dist: pytest-cov>=4.1.0; extra == 'dev'
Requires-Dist: pytest>=7.4.0; extra == 'dev'
Requires-Dist: ruff>=0.1.0; extra == 'dev'
Provides-Extra: dspy
Requires-Dist: dspy>=2.5.0; extra == 'dspy'
Provides-Extra: frameworks
Requires-Dist: autogen-agentchat>=0.4.0; extra == 'frameworks'
Requires-Dist: crewai>=0.50.0; extra == 'frameworks'
Requires-Dist: dspy>=2.5.0; extra == 'frameworks'
Requires-Dist: instructor>=1.0.0; extra == 'frameworks'
Requires-Dist: langchain-core>=0.2.0; extra == 'frameworks'
Requires-Dist: langgraph>=0.2.0; extra == 'frameworks'
Requires-Dist: litellm>=1.30.0; extra == 'frameworks'
Requires-Dist: llama-index-core>=0.10.20; extra == 'frameworks'
Requires-Dist: openai-agents>=0.1.0; extra == 'frameworks'
Requires-Dist: pydantic-ai>=0.1.0; extra == 'frameworks'
Provides-Extra: groq
Requires-Dist: groq>=0.4.0; extra == 'groq'
Provides-Extra: huggingface
Requires-Dist: huggingface-hub>=0.20.0; extra == 'huggingface'
Provides-Extra: instructor
Requires-Dist: instructor>=1.0.0; extra == 'instructor'
Provides-Extra: langchain
Requires-Dist: langchain-core>=0.2.0; extra == 'langchain'
Provides-Extra: langgraph
Requires-Dist: langchain-core>=0.2.0; extra == 'langgraph'
Requires-Dist: langgraph>=0.2.0; extra == 'langgraph'
Provides-Extra: litellm
Requires-Dist: litellm>=1.30.0; extra == 'litellm'
Provides-Extra: llamaindex
Requires-Dist: llama-index-core>=0.10.20; extra == 'llamaindex'
Provides-Extra: ollama
Requires-Dist: ollama>=0.1.0; extra == 'ollama'
Provides-Extra: openai-agents
Requires-Dist: openai-agents>=0.1.0; extra == 'openai-agents'
Provides-Extra: otel
Requires-Dist: opentelemetry-api>=1.20.0; extra == 'otel'
Requires-Dist: opentelemetry-sdk>=1.20.0; extra == 'otel'
Provides-Extra: providers
Requires-Dist: boto3>=1.34.0; extra == 'providers'
Requires-Dist: cerebras-cloud-sdk>=1.0.0; extra == 'providers'
Requires-Dist: google-cloud-aiplatform>=1.40.0; extra == 'providers'
Requires-Dist: groq>=0.4.0; extra == 'providers'
Requires-Dist: huggingface-hub>=0.20.0; extra == 'providers'
Requires-Dist: ollama>=0.1.0; extra == 'providers'
Requires-Dist: together>=1.0.0; extra == 'providers'
Provides-Extra: pydantic-ai
Requires-Dist: pydantic-ai>=0.1.0; extra == 'pydantic-ai'
Provides-Extra: together
Requires-Dist: together>=1.0.0; extra == 'together'
Provides-Extra: vertexai
Requires-Dist: google-cloud-aiplatform>=1.40.0; extra == 'vertexai'
Description-Content-Type: text/markdown

# Risicare

Self-healing observability for AI agents. Captures decision-level traces, diagnoses failures, and deploys fixes — automatically.

[![PyPI version](https://img.shields.io/pypi/v/risicare.svg)](https://pypi.org/project/risicare/)
[![Python](https://img.shields.io/pypi/pyversions/risicare.svg)](https://pypi.org/project/risicare/)

## Quick Start

```bash
pip install risicare
```

```python
import risicare

risicare.init(
    api_key="rsk-...",
    endpoint="https://app.risicare.ai"
)

# That's it. LLM calls are now traced automatically.
```

## Progressive Integration

| Tier | Effort | What You Get |
|------|--------|-------------|
| **Tier 0** | `RISICARE_TRACING=true` (env var) | Auto-instrument all LLM calls |
| **Tier 1** | `import risicare` (1 line) | Explicit config, custom endpoint |
| **Tier 2** | `@agent()` decorator | Agent identity and hierarchy |
| **Tier 3** | `@session` decorator | User session tracking |
| **Tier 4** | `@trace_think / @trace_decide / @trace_act` | Decision phase visibility |
| **Tier 5** | `@trace_message / @trace_delegate` | Multi-agent communication |

## Supported Providers (20)

Auto-instrumented with zero code changes:

| Provider | | Provider | |
|----------|---|----------|---|
| OpenAI | `openai` | Anthropic | `anthropic` |
| Google Gemini | `google-generativeai` | Mistral | `mistralai` |
| Cohere | `cohere` | Groq | `groq` |
| Together AI | `together` | Ollama | `ollama` |
| AWS Bedrock | `boto3` | Google Vertex AI | `google-cloud-aiplatform` |
| Cerebras | `cerebras-cloud-sdk` | HuggingFace | `huggingface-hub` |
| DeepSeek | via OpenAI `base_url` | xAI (Grok) | via OpenAI `base_url` |
| Fireworks | via OpenAI `base_url` | Baseten | via OpenAI `base_url` |
| Novita | via OpenAI `base_url` | BytePlus | via OpenAI `base_url` |
| vLLM | via OpenAI `base_url` | Any OpenAI-compatible | via `base_url` |

## Supported Frameworks (10)

```bash
pip install risicare[langchain]    # LangChain + LangGraph
pip install risicare[crewai]       # CrewAI
pip install risicare[autogen]      # AutoGen
pip install risicare[instructor]   # Instructor
pip install risicare[litellm]      # LiteLLM
pip install risicare[dspy]         # DSPy
pip install risicare[pydantic-ai]  # Pydantic AI
pip install risicare[llamaindex]   # LlamaIndex
pip install risicare[all]          # Everything
```

## OpenTelemetry

```bash
pip install risicare[otel]
```

```python
risicare.init(api_key="rsk-...", otel_bridge=True)
```

Compatible with any OTel-instrumented application. Export to Risicare alongside your existing OTel pipeline.

## Links

- [Documentation](https://risicare.ai/docs)
- [Dashboard](https://app.risicare.ai)
