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.3.0.tar.gz (8.5 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.3.0-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: flux7_mesh-0.3.0.tar.gz
  • Upload date:
  • Size: 8.5 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.3.0.tar.gz
Algorithm Hash digest
SHA256 68192b4348d2f48c9c6bb38cb9d27c9df8c9187b1aac3d97d58f24c5bc721dba
MD5 027275923c8384da2a4898a0249253af
BLAKE2b-256 f48458c655817a63f5ba43d1083b9bffd38fde396de196b34c79ad59d5a3e9a4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: flux7_mesh-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 6.8 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c0d7e9f542469da08b42b0b732de8023a67260dd7dc6093c3beab71c4a7929e1
MD5 68bfe647cc22773a4562af23614009d5
BLAKE2b-256 81e400c0b759f9752f113e243e5f179ba462341636cc172d5a7adeb5297b95f2

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