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 with StatefulChat

The easiest way to interact with Rowboat is using the StatefulChat class, which maintains conversation state automatically:

from rowboat import Client, StatefulChat

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

# Create a stateful chat session
chat = StatefulChat(client)

# Have a conversation
response = chat.run("What is the capital of France?")
print(response)
# The capital of France is Paris.

# Continue the conversation - the context is maintained automatically
response = chat.run("What other major cities are in that country?")
print(response)
# Other major cities in France include Lyon, Marseille, Toulouse, and Nice.

response = chat.run("What's the population of the first city you mentioned?")
print(response)
# Lyon has a population of approximately 513,000 in the city proper.

Advanced Usage

Using a specific workflow

You can specify a workflow ID to use a particular conversation configuration:

chat = StatefulChat(
    client,
    workflow_id="<WORKFLOW_ID>"
)

Using a test profile

You can specify a test profile ID to use a specific test configuration:

chat = StatefulChat(
    client,
    test_profile_id="<TEST_PROFILE_ID>"
)

Low-Level Usage

For more control over the conversation, you can use the Client class directly:

from rowboat.schema import UserMessage

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

# Create messages
messages = [
    UserMessage(role='user', content="Hello, how are you?")
]

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

# For subsequent messages, you need to manage the message history and state manually
messages.extend(response.messages)
messages.append(UserMessage(role='user', content="What's your name?"))
response = client.chat(messages=messages, state=response.state)

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

Uploaded Source

Built Distribution

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

rowboat-3.0.0-py3-none-any.whl (4.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for rowboat-3.0.0.tar.gz
Algorithm Hash digest
SHA256 4ae90a6368225095e77110c56a9e52fe55c9502e9b6f5ad74ae71ce438126aae
MD5 83ed4e38dc5274efdfbd27510a336b46
BLAKE2b-256 947156f1c088f5f699dda5e993619b7416cefa6c5209646b507e0f916102890d

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for rowboat-3.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d20ad8923eb8dbcd115107b3f2a0a9a2cc14a62bff536adf15214c7d58c079ee
MD5 57f0cc4f8774f7cd836923412a3ee621
BLAKE2b-256 0632cc14d3e60966d815cdd774a3a414f758d82a1da528d7f5d6c6505c2815a0

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