Python SDK API
The Python SDK is published as gestalt-sdk and imported as gestalt.
Use it for authored provider code such as:
from gestalt import Model, Plugin
class SearchInput(Model):
query: str
plugin = Plugin("search")
@plugin.operation(title="Search")
def search(params: SearchInput):
return {"query": params.query}The generated API reference is published separately as static HTML:
Those pages focus on the handwritten SDK surface. Generated protobuf bindings
under gestalt.gen remain available to provider code, but they are not
expanded as authored reference pages.
The Python SDK also exposes agent-provider helpers:
import gestalt
class ExampleAgent(gestalt.AgentProvider):
def CreateSession(self, request, context):
return gestalt.pb.AgentSession(
id=request.session_id,
provider_name="example",
model=request.model,
state=gestalt.pb.AGENT_SESSION_STATE_ACTIVE,
)
def CreateTurn(self, request, context):
return gestalt.pb.AgentTurn(
id=request.turn_id,
session_id=request.session_id,
provider_name="example",
model=request.model,
status=gestalt.pb.AGENT_EXECUTION_STATUS_RUNNING,
messages=request.messages,
execution_ref=request.execution_ref,
)
def GetCapabilities(self, request, context):
return gestalt.pb.AgentProviderCapabilities(
streaming_text=True,
tool_calls=True,
interactions=True,
resumable_turns=True,
)