Skip to main content

Rowboat Python SDK

A Python SDK for interacting with the Rowboat API.

Installation

You can install the package using pip:

pip install rowboat

Usage

Basic Usage

The main way to interact with Rowboat is using the Client class, which provides a stateless chat API. You can manage conversation state using the conversationId returned in each response.

from rowboat.client import Client
from rowboat.schema import UserMessage

# Initialize the client
client = Client(
    host="<HOST>",
    projectId="<PROJECT_ID>",
    apiKey="<API_KEY>"
)

# Start a new 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)

# Continue the conversation by passing the conversationId
result = client.run_turn(
    messages=[
        UserMessage(role='user', content="how many did you find?")
    ],
    conversationId=result.conversationId
)
print(result.turn.output[-1].content)

Using Tool Overrides (Mock Tools)

You can provide tool override instructions to test a specific configuration using the mockTools argument:

result = client.run_turn(
    messages=[
        UserMessage(role='user', content="What's the weather?")
    ],
    mockTools={
        "weather_lookup": "The weather in any city is sunny and 25°C.",
        "calculator": "The result of any calculation is 42."
    }
)
print(result.turn.output[-1].content)

Message Types

You can use different message types as defined in rowboat.schema, such as UserMessage, SystemMessage, etc. See schema.py for all available message types.

Error Handling

If the API returns a non-200 status code, a ValueError will be raised with the error details.


For more advanced usage, see the docstrings in client.py and the message schemas in schema.py.

Metadata

Release files for rowboat 5.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rowboat 5.0.1
File Size Uploaded
rowboat-5.0.1.tar.gz 2.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rowboat 5.0.1
File Interpreter ABI Platform
rowboat-5.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 6.3 kB

Release files / rowboat-5.0.1.tar.gz

Download URL rowboat-5.0.1.tar.gz
Size 2.7 kB
Tags Source
SHA-256 checksum
How to use checksums
4228b92c8e9d09829607a09eeb4c6a020a4e166321e943736e58875e9fc13f38
BLAKE2b-256 checksum
How to use checksums
28a41b9e43972f0670176e162e617bcba916073ae720d72fe77774a961a3e36e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.4

Release files / rowboat-5.0.1-py3-none-any.whl

Download URL rowboat-5.0.1-py3-none-any.whl
Size 3.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c69155904babc8a970f1491953c290e3967c9695d85af8651c30a0187f277f45
BLAKE2b-256 checksum
How to use checksums
5e85cab4e2df34c064ce7886ef38d7896fe4f3b4fad571de21704a28f18c2cba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.4

Release history Release notifications | RSS feed

This release

5.0.1 This release

2 release files

5.0.0

2 release files

4.0.0

2 release files

3.1.0

2 release files

3.0.0

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page