Official Python SDK for Vorim AI — AI Agent Identity, Permissions & Audit
Project description
vorim
Official Python SDK for Vorim AI — the identity, permissions, and audit layer for AI agents.
Install
pip install vorim
With framework integrations:
pip install vorim[langchain] # LangChain / LangGraph
pip install vorim[crewai] # CrewAI
pip install vorim[openai] # OpenAI Agents SDK
pip install vorim[all] # All integrations
Quick Start
from vorim import Vorim
vorim = Vorim(api_key="agid_sk_live_...")
# Register an agent
result = vorim.register(
name="invoice-processor",
capabilities=["read_documents", "extract_data"],
scopes=["agent:read", "agent:execute"],
)
# Check permissions (<5ms via Redis)
check = vorim.check(result.agent.agent_id, "agent:execute")
# Emit audit event
vorim.emit(
agent_id=result.agent.agent_id,
event_type="tool_call",
action="process_invoice",
result="success",
)
Async
from vorim import AsyncVorim
async with AsyncVorim(api_key="agid_sk_live_...") as vorim:
result = await vorim.register(
name="my-agent",
capabilities=["search"],
scopes=["agent:read"],
)
LangChain Integration
from vorim import Vorim
from vorim.integrations.langchain import vorim_tool, VorimCallbackHandler
vorim = Vorim(api_key="agid_sk_live_...")
@vorim_tool(vorim, agent_id="agid_acme_...", permission="agent:execute")
def search(query: str) -> str:
"""Search documents."""
return f"Results for {query}"
# Use as a standard LangChain tool with built-in permission checks + audit
CrewAI Integration
from vorim import Vorim
from vorim.integrations.crewai import register_crew
vorim = Vorim(api_key="agid_sk_live_...")
crew = register_crew(vorim, {
"crew_name": "content-pipeline",
"members": [
{
"role": "researcher",
"name": "crew-researcher",
"capabilities": ["web_search"],
"scopes": ["agent:read", "agent:execute"],
},
],
})
OpenAI Integration
from openai import OpenAI
from vorim import Vorim
from vorim.integrations.openai_agents import VorimToolRegistry
vorim = Vorim(api_key="agid_sk_live_...")
client = OpenAI()
registry = VorimToolRegistry(vorim=vorim, agent_id="agid_acme_...")
registry.add(
name="search",
description="Search documents",
parameters={"type": "object", "properties": {"query": {"type": "string"}}},
execute=lambda args: f"Results for {args['query']}",
)
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Search for AI papers"}],
tools=registry.to_openai_tools(),
)
tool_messages = registry.execute_tool_calls(
response.choices[0].message.tool_calls or []
)
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
vorim-0.1.0.tar.gz
(19.3 kB
view details)
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
vorim-0.1.0-py3-none-any.whl
(17.3 kB
view details)
File details
Details for the file vorim-0.1.0.tar.gz.
File metadata
- Download URL: vorim-0.1.0.tar.gz
- Upload date:
- Size: 19.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ee052b1f0294a8382106d9c6752b907cfa7300df5e46b2446f0f6af75f24989f
|
|
| MD5 |
559bad00dc50ebdd8766e8237b09e6e1
|
|
| BLAKE2b-256 |
0e6e1c61866cc609e0ce712938e1c9110f6a8183d34b61abfcb9edcd22d344bd
|
File details
Details for the file vorim-0.1.0-py3-none-any.whl.
File metadata
- Download URL: vorim-0.1.0-py3-none-any.whl
- Upload date:
- Size: 17.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c49292e0d0cb8790c6d74c3874a8f801b034346d6b5f04552c0e3bb128f573a8
|
|
| MD5 |
bca1bf381139dd4957354ec444ebeb2d
|
|
| BLAKE2b-256 |
1dc89a95d615707daaa35cff9a121404ca2a3004b4da1fe0172456540226f15e
|