ComplyEdge Python SDK
Runtime compliance engine for EU AI Act. Open source. Deterministic.
Installation
pip install complyedge
Quick Start — EU AI Act in Three Lines
from complyedge import compliance_check
@compliance_check(jurisdiction="EU", agent_id="my-agent")
def my_agent(prompt):
return llm.generate(prompt) # every input and output checked
That's it. Every input and output is checked against the EU AI Act rule corpus (Article 5, Article 50, GPAI). Violations are blocked before they reach the user, with legal citation, rule ID, and timestamp on every check.
The decorator reads your API key from the COMPLYEDGE_API_KEY environment variable by default. Pass api_key_env="MY_VAR" to use a different one.
Multi-Jurisdiction Enforcement
jurisdiction selects which rule corpus is evaluated server-side.
| Value | Corpus |
|---|---|
EU |
EU AI Act Article 5 + Article 50 + GPAI (Articles 51–55) |
US |
HIPAA, SOX, COPPA, TCPA, BIPA |
@compliance_check(jurisdiction="EU", agent_id="hr-screening")
def hr_screening(candidate: str) -> str:
return llm.generate(candidate)
Per-rule scoping (e.g. only Article 5) is planned but not yet exposed in the SDK — all rules for the selected jurisdiction run today.
Additional Installation Options
# Development setup
pip install complyedge[dev]
# Local development from source
pip install -e ./sdks/python
Client API — Without the Decorator
from complyedge import ComplyEdge
ce = ComplyEdge(api_key="your-key")
result = ce.check("AI-generated content", jurisdiction="EU")
if result.allowed:
print("Content approved")
else:
for v in result.violations:
print(f"{v.rule_id}: {v.citation}")
Or the global convenience functions:
from complyedge import is_safe, check
import os
api_key = os.environ["COMPLYEDGE_API_KEY"]
# Boolean check
if not is_safe(text, api_key=api_key, jurisdiction="EU"):
raise ValueError("Compliance violation")
# Full result
result = check(text, api_key=api_key, jurisdiction="EU")
MCP Server — Use ComplyEdge as an AI Agent Tool
Agent/MCP tools that check prompts and outputs against ComplyEdge’s TrustLint corpus with article-cited findings — not another EU AI Act risk-tier chatbot and not a law-search database.
ComplyEdge runs as an MCP (Model Context Protocol) stdio server for any MCP-compatible host (Claude, Cursor, Inspector).
pip install 'complyedge[mcp]>=0.2.7'
Start with either entrypoint:
python -m complyedge.mcp_server
# or
complyedge-mcp
Add to your MCP client config (e.g. claude_desktop_config.json):
{
"mcpServers": {
"complyedge": {
"command": "complyedge-mcp"
}
}
}
(command/args with python -m complyedge.mcp_server is also valid.)
Exposed tools (TrustLint offline YAML corpus):
| Tool | Description |
|---|---|
check_compliance |
Check text against TrustLint rules. Returns PASS/FAIL with article-cited findings. |
list_rules |
List available TrustLint rules, filterable by jurisdiction. |
scan_prompt |
Pre-generation prompt scan. Returns SAFE or RISK_DETECTED. |
No API key is required for these tools. The optional extra installs mcp and
trustlint (engine + bundled rules). This MCP path does not run the REST API
policy engine.
Documentation
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file complyedge-0.2.7.tar.gz.
File metadata
- Download URL: complyedge-0.2.7.tar.gz
- Upload date:
- Size: 25.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a299f1a3f6229426cfe035453e8537052ccdeac1a2748e8137bdda284587120
|
|
| MD5 |
0cb1781c50802b85dfa17bdd105f4cab
|
|
| BLAKE2b-256 |
ec667420ba26117e900250bc91d35a586cf53fc375651725a96b5a0672d654cf
|
File details
Details for the file complyedge-0.2.7-py3-none-any.whl.
File metadata
- Download URL: complyedge-0.2.7-py3-none-any.whl
- Upload date:
- Size: 26.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c463a7e45585a2b5813f09ba28cc711c605c0a5662d0ee0d5ce8b4070f16d9aa
|
|
| MD5 |
23fa0397413272680f2d35ab2f060175
|
|
| BLAKE2b-256 |
b97c0daf4c0257cce503ed760c009e18cdede062bf27738be673010a9088a58f
|