# Rowboat Python SDK A Python SDK for interacting with the Rowboat API. ## Installation You can install the package using pip: ```bash 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. ```python from rowboat.client import Client from rowboat.schema import UserMessage # Initialize the client client = Client( host="", projectId="", apiKey="" ) # 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: ```python 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`.