Metadata-Version: 2.4
Name: qorami
Version: 1.1.0
Summary: Qorami client — a control point between your AI agents and sending email (send / request_human_confirmation / do_not_send).
Author-email: "Qorami.AI" <contact@qorami.fr>
License: MIT
Project-URL: Homepage, https://qorami.fr
Project-URL: Documentation, https://qorami.fr/docs
Project-URL: Repository, https://github.com/loicfontaine-max/qorami-sdk
Keywords: ai,agents,email,guardrails,human-in-the-loop,qorami
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Intended Audience :: Developers
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Provides-Extra: langchain
Requires-Dist: langchain-core; extra == "langchain"
Requires-Dist: pydantic; extra == "langchain"
Provides-Extra: crewai
Requires-Dist: crewai; extra == "crewai"
Requires-Dist: pydantic; extra == "crewai"
Provides-Extra: llamaindex
Requires-Dist: llama-index-core; extra == "llamaindex"
Provides-Extra: openai-agents
Requires-Dist: openai-agents; extra == "openai-agents"
Provides-Extra: all
Requires-Dist: langchain-core; extra == "all"
Requires-Dist: crewai; extra == "all"
Requires-Dist: llama-index-core; extra == "all"
Requires-Dist: openai-agents; extra == "all"
Requires-Dist: pydantic; extra == "all"

# qorami

Zero-dependency Python client (standard library only) for
[Qorami](https://qorami.fr) — a control point between your AI agents and sending
email. Before each send, the agent asks Qorami, which answers **send**,
**request_human_confirmation**, or **do_not_send**.

## Install

```bash
pip install qorami
```

Python 3.8+.

## Use

```python
import os
from qorami import QoramiClient

qorami = QoramiClient(api_key=os.environ["QORAMI_API_KEY"])

result = qorami.verify(
    recipient="client@example.com",
    subject="Our offer",
    body=email_body,
    policy_profile="sales",
)

if result.next_action_type == "send":
    send_email()                       # allowed
elif result.next_action_type == "request_human_confirmation":
    queue_for_review(result.action_id) # a human approves in the dashboard
# else do_not_send: don't send
```

A `guard(...)` helper and `status(action_id)` (poll after
`request_human_confirmation`) are also available. Get an API key at
<https://qorami.fr/dashboard/>; full reference at <https://qorami.fr/docs>.

Using Claude Desktop / Cursor / Windsurf or another MCP client? Skip the SDK and
run the MCP server: `npx qorami-mcp`.

MIT
