Metadata-Version: 2.4
Name: cyris
Version: 0.2.0
Summary: The system of record for AI agent decisions. Auto-instruments OpenAI, Anthropic, Bedrock, Gemini, Vertex AI, Mistral, Cohere, Groq, Together, Ollama, and MCP. Hash-chains the audit trail and answers hospital compliance questionnaires from real data.
Author-email: Cyris <hello@cyrisai.dev>
License: MIT
Project-URL: Homepage, https://cyrisai.dev
Project-URL: Repository, https://github.com/ultimatem7/Cyris
Project-URL: Issues, https://github.com/ultimatem7/Cyris/issues
Keywords: ai,audit,compliance,hipaa,llm,observability,openai,anthropic,bedrock,gemini,vertex-ai,mistral,cohere,groq,together-ai,ollama,mcp,agents,monitoring
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Healthcare Industry
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
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 :: Libraries :: Python Modules
Classifier: Topic :: System :: Monitoring
Classifier: Topic :: System :: Logging
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests>=2.20.0
Provides-Extra: openai
Requires-Dist: openai>=1.0.0; extra == "openai"
Provides-Extra: anthropic
Requires-Dist: anthropic>=0.18.0; extra == "anthropic"
Provides-Extra: bedrock
Requires-Dist: boto3>=1.34.0; extra == "bedrock"
Provides-Extra: gemini
Requires-Dist: google-generativeai>=0.5.0; extra == "gemini"
Provides-Extra: vertex
Requires-Dist: google-cloud-aiplatform>=1.45.0; extra == "vertex"
Provides-Extra: mistral
Requires-Dist: mistralai>=1.0.0; extra == "mistral"
Provides-Extra: cohere
Requires-Dist: cohere>=5.0.0; extra == "cohere"
Provides-Extra: groq
Requires-Dist: groq>=0.4.0; extra == "groq"
Provides-Extra: together
Requires-Dist: together>=1.0.0; extra == "together"
Provides-Extra: ollama
Requires-Dist: ollama>=0.3.0; extra == "ollama"
Provides-Extra: mcp
Requires-Dist: mcp>=1.0.0; extra == "mcp"
Provides-Extra: all
Requires-Dist: openai>=1.0.0; extra == "all"
Requires-Dist: anthropic>=0.18.0; extra == "all"
Requires-Dist: boto3>=1.34.0; extra == "all"
Requires-Dist: google-generativeai>=0.5.0; extra == "all"
Requires-Dist: mistralai>=1.0.0; extra == "all"
Requires-Dist: cohere>=5.0.0; extra == "all"
Requires-Dist: groq>=0.4.0; extra == "all"
Requires-Dist: together>=1.0.0; extra == "all"
Requires-Dist: ollama>=0.3.0; extra == "all"
Requires-Dist: mcp>=1.0.0; extra == "all"
Dynamic: license-file

# cyris

The system of record for AI agent decisions.

## Install

```bash
pip install cyris
```

## Usage

```python
import cyris
cyris.init(api_key="your-key")
# That's it. Every OpenAI/Anthropic call is now logged.
```

## Manual logging

```python
cyris.log_call(provider="openai", model="gpt-4o", input_text="Hello", output_text="Hi there")
```

## Sessions

```python
with cyris.session("my-workflow") as sid:
    # all calls inside this block share the same session_id
    ...
```

## CLI

```bash
cyris login       # authenticate via browser
cyris whoami      # show current identity
cyris status      # check API connectivity
cyris logout      # remove saved credentials
```
