theartofservice-compliance
TheArtOfService Compliance Intelligence SDK. Langchain tools over a compliance control graph of frameworks, controls and cross-framework mappings. Live counts: https://api.theartofservice.com/api/agent/stats
Installation
pip install theartofservice-compliance
Quick Start
Direct API Client
from theartofservice_compliance import ComplianceClient
client = ComplianceClient(api_key="your-api-key")
# Search frameworks
results = client.search_frameworks("ISO 27001")
# Get framework details
framework = client.get_framework("ISO-27001")
# Cross-framework mapping
mappings = client.cross_framework_map(source="ISO-27001", target="SOC-2")
# Coverage report
coverage = client.coverage_report("NIST-CSF")
# Gap analysis between frameworks
gaps = client.gap_analysis(source="ISO-27001", target="NIST-CSF")
# Search individual controls
controls = client.search_controls("access control")
# Ask the AI compliance advisor
answer = client.advisory_query(
"What controls do I need for data encryption?",
frameworks=["ISO-27001", "SOC-2"],
)
Langchain Integration
from langchain_openai import ChatOpenAI
from langchain.agents import AgentExecutor, create_tool_calling_agent
from langchain_core.prompts import ChatPromptTemplate
from theartofservice_compliance import ComplianceToolkit
# Create the toolkit
toolkit = ComplianceToolkit(api_key="your-api-key")
tools = toolkit.get_tools()
# Set up a Langchain agent
llm = ChatOpenAI(model="gpt-4o")
prompt = ChatPromptTemplate.from_messages([
("system", "You are a compliance advisor with access to the framework catalogue."),
("human", "{input}"),
("placeholder", "{agent_scratchpad}"),
])
agent = create_tool_calling_agent(llm, tools, prompt)
executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
# Run a query
result = executor.invoke({
"input": "Compare ISO 27001 and SOC 2 coverage for access control"
})
print(result["output"])
Available Tools
| Tool | Description |
|---|---|
search_frameworks |
Search compliance frameworks by keyword |
get_framework_details |
Get details of a specific compliance framework |
cross_framework_mapping |
Map controls between two frameworks |
coverage_report |
Get coverage report for a framework |
compliance_gap_analysis |
Find gaps between two frameworks |
advisory_query |
Ask a compliance question to the AI advisor |
API Reference
All tools communicate with the TheArtOfService Compliance API. You need a valid API key to authenticate requests.
Authentication
Pass your API key when initializing the client or toolkit:
client = ComplianceClient(api_key="your-api-key")
# or
toolkit = ComplianceToolkit(api_key="your-api-key")
The key is sent as a Bearer token in the Authorization header.
Links
- Compliance Platform: https://compliance.theartofservice.com
- API: https://api.theartofservice.com
- npm MCP Server: https://www.npmjs.com/package/@theartofservice/compliance-mcp
Release files for theartofservice-compliance 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| theartofservice_compliance-0.1.2.tar.gz | 5.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| theartofservice_compliance-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.9 kB
Release files / theartofservice_compliance-0.1.2.tar.gz
| Download URL | theartofservice_compliance-0.1.2.tar.gz |
|---|---|
| Size | 5.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bfb58b6ef375cdf518cdbf00a309afde297cfd28e71faaca4462394fabfd3164
|
|
BLAKE2b-256 checksum How to use checksums |
5e2928db9f2d3818b54e9e10266c31c539c3697a2e86e769f1f2da6f8d821bf9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.5
|
Release files / theartofservice_compliance-0.1.2-py3-none-any.whl
| Download URL | theartofservice_compliance-0.1.2-py3-none-any.whl |
|---|---|
| Size | 7.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
34ffe2ab5ea153975bbc155bc002729f31f2c58171b1859e4bb605a40f2fb5c6
|
|
BLAKE2b-256 checksum How to use checksums |
d0a7849a6b2c939b5c2b49a0382be0f860f37e802994a7f5705466c386747409
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.5
|