Metadata-Version: 2.4
Name: hejdar
Version: 0.1.0
Summary: Hejdar AI governance SDK — policy evaluation for AI agents
Author: Hejdar
License-Expression: MIT
Keywords: agents,ai,governance,policy
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
Requires-Python: >=3.9
Requires-Dist: httpx>=0.25.0
Provides-Extra: dev
Requires-Dist: pytest-asyncio>=0.21.0; extra == 'dev'
Requires-Dist: pytest>=7.0.0; extra == 'dev'
Requires-Dist: respx>=0.20.0; extra == 'dev'
Description-Content-Type: text/markdown

# Hejdar Python SDK

Policy evaluation for AI agents. Check actions against Hejdar governance rules before execution.

## Install

```bash
pip install hejdar
```

## Quickstart

```python
from hejdar import Hejdar, HejdarDeniedError, HejdarNetworkError

client = Hejdar(api_key="hejdar_sk_...")

try:
    result = client.check(
        agent_id="finance-assistant",
        action_type="WRITE_DB",
        data_classification="PII",
        environment="production",
    )
    if result.allowed:
        # Proceed with action
        pass
except HejdarDeniedError as e:
    # Blocked in enforce mode
    print(f"Denied: {e.reason_code}")
except HejdarNetworkError:
    # API unreachable — fail closed (treat as deny)
    pass
```

## Modes

- **Observe (shadow)**: Returns `WOULD_DENY` / `WOULD_REQUIRE_APPROVAL` — logs a warning, never raises. Use to trial policies.
- **Enforce**: Returns `DENY` / `REQUIRE_APPROVAL` — raises `HejdarDeniedError` and blocks execution.

## Async

```python
result = await client.check_async(agent_id="...", action_type="READ_DB")
```

## API Reference

`check(agent_id, action_type, data_classification="INTERNAL", environment="production", ...)` — see docstrings.
