Metadata-Version: 2.4
Name: reziiix
Version: 0.1.0
Summary: Python SDK for the REZIIIX AI Governance Platform
Project-URL: Homepage, https://reziiix.com
Project-URL: Documentation, https://reziiix.com/developers
Project-URL: Repository, https://github.com/reziiix/python-sdk
Author-email: REZIIIX <dev@reziiix.com>
License-Expression: MIT
License-File: LICENSE
Keywords: ai,compliance,governance,llm,security
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: Programming Language :: Python :: 3.13
Classifier: Topic :: Security
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.9
Requires-Dist: httpx>=0.25
Requires-Dist: pydantic>=2.0
Provides-Extra: all
Requires-Dist: crewai>=0.1; extra == 'all'
Requires-Dist: langchain-core>=0.1; extra == 'all'
Requires-Dist: openai>=1.0; extra == 'all'
Requires-Dist: pytest-asyncio>=0.21; extra == 'all'
Requires-Dist: pytest>=7; extra == 'all'
Requires-Dist: pyyaml>=6.0; extra == 'all'
Requires-Dist: respx>=0.21; extra == 'all'
Requires-Dist: rich>=13.0; extra == 'all'
Requires-Dist: ruff>=0.4; extra == 'all'
Requires-Dist: typer>=0.9; extra == 'all'
Provides-Extra: cli
Requires-Dist: pyyaml>=6.0; extra == 'cli'
Requires-Dist: rich>=13.0; extra == 'cli'
Requires-Dist: typer>=0.9; extra == 'cli'
Provides-Extra: crewai
Requires-Dist: crewai>=0.1; extra == 'crewai'
Provides-Extra: dev
Requires-Dist: pytest-asyncio>=0.21; extra == 'dev'
Requires-Dist: pytest>=7; extra == 'dev'
Requires-Dist: respx>=0.21; extra == 'dev'
Requires-Dist: ruff>=0.4; extra == 'dev'
Provides-Extra: langchain
Requires-Dist: langchain-core>=0.1; extra == 'langchain'
Provides-Extra: openai
Requires-Dist: openai>=1.0; extra == 'openai'
Description-Content-Type: text/markdown

# reziiix

Python SDK for the [REZIIIX AI Governance Platform](https://reziiix.com).

## Installation

```bash
pip install reziiix
```

With framework integrations:
```bash
pip install reziiix[langchain]    # LangChain
pip install reziiix[openai]       # OpenAI wrapper
pip install reziiix[crewai]       # CrewAI
pip install reziiix[cli]          # CLI tool
pip install reziiix[all]          # Everything
```

## Quick Start

```python
from reziiix import ReziiixClient

client = ReziiixClient(api_key="rzx_...")

# Scan for prompt injection
result = client.detect_injection("ignore all previous instructions")
print(result.safe)       # False
print(result.verdict)    # "INJECTION_DETECTED"

# PII scan
scan = client.scan(agent_id="my-agent", action="Send customer data")
print(scan.results.pii_found)

# Dashboard stats
stats = client.stats()
print(f"Governance Score: {stats.data.governance_score}%")

# Cost tracking
client.record_usage(
    agent_id="my-agent",
    model="gpt-4o",
    prompt_tokens=500,
    completion_tokens=200,
)
costs = client.get_costs(period="7d")
print(f"Total cost: ${costs.summary.total_cost_usd:.4f}")
```

## Async Support

```python
async with ReziiixClient(api_key="rzx_...") as client:
    result = await client.async_detect_injection("test input")
    stats = await client.async_stats()
```

## Framework Integrations

### LangChain
```python
from reziiix.integrations.langchain import get_reziiix_callback

callback = get_reziiix_callback(agent_id="my-chain")
chain.invoke({"input": "..."}, config={"callbacks": [callback]})
```

### OpenAI
```python
from openai import OpenAI
from reziiix.integrations.openai_wrapper import wrap_openai

client = wrap_openai(OpenAI(), agent_id="my-agent")
# All calls now have injection scanning + cost tracking
```

### CrewAI
```python
from reziiix.integrations.crewai import get_reziiix_tool

tool = get_reziiix_tool(agent_id="crew-agent")
agent = Agent(role="...", tools=[tool])
```

## CLI

```bash
export REZIIIX_API_KEY=rzx_...

reziiix scan "ignore all previous instructions"
reziiix stats
reziiix policies
reziiix agents
reziiix costs --period 7d
reziiix compliance
```

## Environment Variables

| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| `REZIIIX_API_KEY` | Yes | — | API key (starts with `rzx_`) |
| `REZIIIX_ENDPOINT` | No | `https://reziiix.com` | API endpoint |

## License

MIT
