Skip to main content

Python sdk for the Rowboat API

Project description

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.

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

rowboat-5.0.1.tar.gz (2.7 kB view details)

Uploaded Source

Built Distribution

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

rowboat-5.0.1-py3-none-any.whl (3.6 kB view details)

Uploaded Python 3

File details

Details for the file rowboat-5.0.1.tar.gz.

File metadata

  • Download URL: rowboat-5.0.1.tar.gz
  • Upload date:
  • Size: 2.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.4

File hashes

Hashes for rowboat-5.0.1.tar.gz
Algorithm Hash digest
SHA256 4228b92c8e9d09829607a09eeb4c6a020a4e166321e943736e58875e9fc13f38
MD5 fc88cdfa61f0533d77842f60b31c39a8
BLAKE2b-256 28a41b9e43972f0670176e162e617bcba916073ae720d72fe77774a961a3e36e

See more details on using hashes here.

File details

Details for the file rowboat-5.0.1-py3-none-any.whl.

File metadata

  • Download URL: rowboat-5.0.1-py3-none-any.whl
  • Upload date:
  • Size: 3.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.4

File hashes

Hashes for rowboat-5.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c69155904babc8a970f1491953c290e3967c9695d85af8651c30a0187f277f45
MD5 9d2a0e97a919d43c160c9475822d25be
BLAKE2b-256 5e85cab4e2df34c064ce7886ef38d7896fe4f3b4fad571de21704a28f18c2cba

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