Skip to main content

Python SDK for flux7-mesh — governance mesh for AI agent tool calls

Project description

mesh7 Python SDK

Governance mesh for AI agent tool calls. Wraps any Python function with policy enforcement, human approval, and tracing via flux7-mesh.

Install

pip install flux7-mesh
pip install flux7-mesh[anthropic]  # with Claude API support

Quick start

Direct client

from mesh7 import AgentMesh

mesh = AgentMesh("http://localhost:9090", agent="my-agent")

# Check what's available
tools = mesh.tools()
health = mesh.health()

# Policy check only (POST /decide) — no execution
decision = mesh.decide("filesystem.write_file", {"path": "/tmp/x"})
print(decision.action)  # allow | deny | human_approval

# Full proxy (POST /tool/{name}) — policy + execute + trace
decision = mesh.call_tool("filesystem.read_file", {"path": "/tmp/data.txt"})
print(decision.result)

# Manage grants
mesh.create_grant("filesystem.*", "30m")
mesh.revoke_grant("grant-id")

GovernedToolkit (Claude API)

from mesh7 import GovernedToolkit

toolkit = GovernedToolkit(agent="my-agent")

@toolkit.tool
def get_weather(city: str) -> str:
    """Get current weather for a city."""
    return fetch_weather(city)

@toolkit.tool
def send_email(to: str, subject: str, body: str) -> str:
    """Send an email."""
    return smtp_send(to, subject, body)

# Generate tools[] for Claude API
schemas = toolkit.schemas()

# Process tool_use blocks with governance
response = client.messages.create(model="claude-sonnet-4-6", tools=schemas, ...)
results = toolkit.process_response([b.model_dump() for b in response.content])

The toolkit:

  1. schemas() — generates the tools[] array from Python function signatures
  2. process_response() — intercepts tool_use blocks, checks policy via mesh7, executes locally if allowed
  3. execute() — single tool call with governance

Prerequisites

mesh7 daemon running:

mesh7 serve --config config.yaml

API

AgentMesh(url, agent, timeout)

Method Description
decide(name, args) Evaluate policy without executing
call_tool(name, args) Execute tool through governance (proxy)
tools() List available tools
approvals() List pending approvals
approve(id) / deny(id) Resolve approval
grants() List active grants
create_grant(tools, duration) Create temporal grant
health() / is_healthy() Check mesh status

GovernedToolkit(agent, url)

Method Description
@toolkit.tool Decorator to register a function
schemas() Generate Claude API tools array
execute(name, input) Governed execution
process_response(content) Process Claude response blocks

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flux7_mesh-0.2.0.tar.gz (7.8 kB view details)

Uploaded Source

Built Distribution

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

flux7_mesh-0.2.0-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file flux7_mesh-0.2.0.tar.gz.

File metadata

  • Download URL: flux7_mesh-0.2.0.tar.gz
  • Upload date:
  • Size: 7.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for flux7_mesh-0.2.0.tar.gz
Algorithm Hash digest
SHA256 2762c8685a584f0dc4d362b83998ab09f829deeba77ff7c3968ad1b82b316691
MD5 b1f6e5803c1f396d9c3acd85d87c3e99
BLAKE2b-256 59d1d977449d9f85b458bcb0de5cab4835c846663c1fa5941784e7318b1fb913

See more details on using hashes here.

File details

Details for the file flux7_mesh-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: flux7_mesh-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 6.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for flux7_mesh-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 127dea36bc85b30f314e574ceaa05cc8861821e073c2721e0a04b29d1e31bf2f
MD5 a1f85cb691631d8c5ab5e56d855d696d
BLAKE2b-256 9dc8f666a190e3204471b345eb2760594d83e4d780024ebbb47eb772e0f51de8

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