Skip to main content
The Rowboat Python SDK provides a simple and powerful interface for building AI agents that can interact with users and execute tools. The SDK is designed around a stateless chat API that gives you full control over conversation management.

Key Features

  • Stateless Architecture: Full control over conversation state using conversation IDs
  • Type-Safe Messages: Pydantic-based message schemas for reliable data handling
  • Tool Override Support: Test agent behaviors with mock tool responses
  • Simple API: Minimal setup with intuitive method signatures
  • Production-Ready: Built on requests and Pydantic for reliability

Quick Start

Get started with Rowboat in just a few lines of code:
from rowboat.client import Client
from rowboat.schema import UserMessage

# Initialize the client
client = Client(
    host="https://api.rowboat.dev",
    projectId="your-project-id",
    apiKey="your-api-key"
)

# Start a conversation
result = client.run_turn(
    messages=[
        UserMessage(role='user', content="list my github repos")
    ]
)

print(result.turn.output[-1].content)
print("Conversation ID:", result.conversationId)

Core Concepts

Stateless Chat API

The SDK uses a stateless approach where you manage conversation context by passing a conversationId between turns. This gives you flexibility in how you store and retrieve conversation history.

Message Types

Rowboat supports multiple message types for different conversation participants:
  • UserMessage - Messages from end users
  • SystemMessage - System instructions and context
  • AssistantMessage - Agent responses
  • ToolMessage - Tool execution results

Tool Overrides

Test your agent’s behavior without executing real tools by providing mock responses through the mockTools parameter.

Next Steps

Installation

Install the SDK via pip

Usage Guide

Learn how to use the SDK effectively

API Reference

Explore the complete API documentation

Examples

View example implementations

Build docs developers (and LLMs) love