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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4228b92c8e9d09829607a09eeb4c6a020a4e166321e943736e58875e9fc13f38
|
|
| MD5 |
fc88cdfa61f0533d77842f60b31c39a8
|
|
| BLAKE2b-256 |
28a41b9e43972f0670176e162e617bcba916073ae720d72fe77774a961a3e36e
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c69155904babc8a970f1491953c290e3967c9695d85af8651c30a0187f277f45
|
|
| MD5 |
9d2a0e97a919d43c160c9475822d25be
|
|
| BLAKE2b-256 |
5e85cab4e2df34c064ce7886ef38d7896fe4f3b4fad571de21704a28f18c2cba
|