Skip to main content

CortexHub Python SDK — Runtime governance for AI systems. One decorator, any tool, any framework.

Project description

CortexHub Python SDK

Runtime governance for AI systems. One decorator. Any tool. Any framework.

pip install cortexhub

Python 3.10–3.12.

Optional installs (match your agent stack)

Use bracket extras so peer dependencies install in one step — same shape as the demo app:

Extra Typical use Pair with cortexhub.init(framework=...)
openai-agents or openai-agent OpenAI Agents SDK openai_agents
langchain LangChain / shared ChatModel langchain
langgraph LangGraph + OpenAI chat models (pulls langgraph, langchain-openai, …) langgraph
anthropic or claude Claude / Anthropic Messages API anthropic, claude, or claude_agents
crewai, llama-index, autogen, pydantic-ai, semantic-kernel, google-adk Those ecosystems llama_index: auto llm.call + cortexhub.llm.thought via callbacks; others: fleet label + cx.llm_call / record_llm_result / record_llm_thought unless you route via another hooked client
agents LangGraph + OpenAI Agents together (demo-style) Set framework= per vertical

* Automatic llm.call hooks today: OpenAI Agents, LangChain / LangGraph (BaseChatModel.invoke / ainvoke), Anthropic (messages.create, non-streaming), LlamaIndex (CallbackManager / CBEventType.LLM, non-streaming turn completion). Same @cx.tool governance everywhere; other stacks use cx.llm_call / cx.record_llm_result / cx.record_llm_thought or a hooked client above.

pip install 'cortexhub[agents]'   # LangGraph + OpenAI Agents (examples repo backend)
# pip also accepts: pip install 'cortexhub[langgraph,openai-agents]'

Quick start

Identity comes from your agent key only — the control plane assigns the canonical agent id. Set CORTEXHUB_AGENT_KEY (or pass agent_key= to init()).

import cortexhub

cx = cortexhub.init()  # requires CORTEXHUB_AGENT_KEY (or pass agent_key=)

@cx.tool(classification="write")
def process_payment(customer_id: str, amount: str, reference: str) -> dict:
    """Process a payment."""
    return payment_service.charge(customer_id, amount, reference)

# Policies, approvals, and audit trail are configured in the control plane.

Configuration

Env var Description
CORTEXHUB_AGENT_KEY Agent identity secret (required for cloud enforcement)
CORTEXHUB_DEBUG Set to 1 or true for readable SDK logs: tool + arguments, policy name + condition, and decision
CORTEXHUB_LOG_LEVEL e.g. DEBUG, INFO (default INFO)

Debug logging

With CORTEXHUB_DEBUG=1 (or CORTEXHUB_DEBUG_POLICY=1), the SDK logs in real time:

  • Tool encountered — tool name and argument names/values (values redacted when privacy mode is on)
  • Policy evaluated — policy name, condition/reasoning, and decision (allow / deny / escalate)
  • Decision — final effect, policy, and reason for the current tool call

Useful for seeing exactly what CortexHub is evaluating and why a tool was allowed, blocked, or sent for approval.

OpenAI Agents SDK (llm.call telemetry)

If you use the OpenAI Agents SDK, initialise with framework="openai_agents" so each model turn is captured as llm.call spans (assistant reasoning text and tool-call intent), merged automatically with any hooks= you pass to Runner.run.

pip install 'cortexhub[openai-agents]'
# or: pip install 'cortexhub[openai-agent]'
cx = cortexhub.init(framework="openai_agents")

Documentation · Control plane

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

cortexhub-0.5.27.tar.gz (12.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cortexhub-0.5.27-py3-none-any.whl (12.9 MB view details)

Uploaded Python 3

File details

Details for the file cortexhub-0.5.27.tar.gz.

File metadata

  • Download URL: cortexhub-0.5.27.tar.gz
  • Upload date:
  • Size: 12.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for cortexhub-0.5.27.tar.gz
Algorithm Hash digest
SHA256 324c7b56cdc7c79f5cf6a93078826eb4b9b65362a26a714eff9d5862c507540d
MD5 9f319a69feebdf9c01ccf0df1279a1e5
BLAKE2b-256 16d6a3566493ca0782a87b025da494921be93a1e14bd4d8557951be0da45dab7

See more details on using hashes here.

File details

Details for the file cortexhub-0.5.27-py3-none-any.whl.

File metadata

  • Download URL: cortexhub-0.5.27-py3-none-any.whl
  • Upload date:
  • Size: 12.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for cortexhub-0.5.27-py3-none-any.whl
Algorithm Hash digest
SHA256 35b4a67328c74b43fceae2b980dca5a4e4321bb00e4ddae7202faa439fbe7e9c
MD5 84f71b9c9c498093701d7c232f9f59a9
BLAKE2b-256 186c4d06d10ff68e3343399ef40728c6b6b22b5042dfee66a22e006df4052578

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page