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

Initialize a client and use the chat method directly:

from rowboat import Client
from rowboat.schema import UserMessage, SystemMessage

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

# Create messages
messages = [
    SystemMessage(role='system', content="You are a helpful assistant"),
    UserMessage(role='user', content="Hello, how are you?")
]

# Get response
response_messages, state = client.chat(messages=messages)
print(response_messages[-1].content)

# For subsequent messages, include previous messages and state
messages.extend(response_messages)
messages.append(UserMessage(role='user', content="What's your name?"))
response_messages, state = client.chat(messages=messages, state=state)

Using Tools

The SDK supports function calling through tools:

def weather_lookup(city_name: str) -> str:
    return f"The weather in {city_name} is 22°C."

# Create a tools dictionary
tools = {
    'weather_lookup': weather_lookup
}

# Use tools with the chat method
response_messages, state = client.chat(
    messages=messages,
    tools=tools
)

Stateful Chat (Convenience Wrapper)

For simpler use cases, the SDK provides a StatefulChat class that maintains conversation state automatically:

from rowboat import StatefulChat

# Initialize stateful chat
chat = StatefulChat(
    client,
    tools=tools,
    system_prompt="You are a helpful assistant."
)

# Simply send messages and get responses
response = chat.run("Hello, how are you?")
print(response)
# I'm good, thanks! How can I help you today?

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-1.0.3.tar.gz (3.9 kB view details)

Uploaded Source

Built Distribution

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

rowboat-1.0.3-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for rowboat-1.0.3.tar.gz
Algorithm Hash digest
SHA256 48c7ad7265ce3df3ae70f478a12b69c924b96c2009c6d72a979bf7c4fa499a08
MD5 92bfd976d4f75d527070c443a556c931
BLAKE2b-256 5eb13c4ca97c2546c1e92bfa230b9a2cf52a79f6d4b35e227b98e33041b6c26e

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for rowboat-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 2ce6810ab7bca6b28dfeb36615b00edcb7c68176ff70aaf39de04f6847c3fe6a
MD5 3f004621b9d882b29a5c6afcd4bab85b
BLAKE2b-256 0b0efda6f5adbe36b81bb06d9f029266deffc91936bbd5d59b1860c663818304

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