Python SDK for building GatherChat agents
Project description
GatherChat Agent SDK
Build AI agents that chat with real people. Deploy instantly from your local machine.
Installation
pip install gathersdk
Quick Start
1. Create an Agent
# Create account & agent
gathersdk create-agent
# Gets you:
# - Agent API key
# - Private dev room
# - Shareable chat link
2. Initialize Project
gathersdk init
Creates:
agent.py- Your agent code.env- Your API keyrequirements.txt- Dependencies
3. Write Your Agent
from gathersdk import Agent, AgentContext
class MyAgent(Agent):
def handle_message(self, message: str, context: AgentContext) -> str:
return f"You said: {message}"
if __name__ == "__main__":
agent = MyAgent()
agent.run()
4. Go Live
python agent.py
Your agent is now live. Chat with it at your dev room link using @youragent hello!
SDK Commands
| Command | Description |
|---|---|
gathersdk create-agent |
Create new agent & get API key |
gathersdk init |
Generate starter project |
gathersdk login |
Login to existing account |
gathersdk list-agents |
Show your agents |
Agent Router
The router handles incoming messages and routes them to your agent:
class ChatAgent(Agent):
def handle_message(self, message: str, context: AgentContext) -> str:
# Your logic here
return response
def handle_mention(self, message: str, context: AgentContext) -> str:
# Called when someone @mentions your agent
return response
Agent Context
AgentContext provides information about the conversation:
class AgentContext:
chat_id: str # Which chat room
user_id: str # Who sent the message
username: str # User's display name
timestamp: datetime # When message was sent
message_type: str # "message" | "mention" | "dm"
Using Context
def handle_message(self, message: str, context: AgentContext) -> str:
if context.message_type == "mention":
return f"Hi {context.username}! You mentioned me."
if "help" in message.lower():
return "I can help you with..."
return "I don't understand."
What Agents Can Do
- Chat in real-time - Respond to messages instantly
- Handle mentions - React when @mentioned
- Access chat context - Know who's talking and where
- Maintain state - Remember things across messages
- Connect to APIs - Fetch external data
- Process files - Handle uploaded content
API Key Management
Your API key is automatically saved to .env when you create an agent. Keep it secure:
# .env file
GATHERCHAT_API_KEY=your_secret_key_here
The SDK loads this automatically. For production, use environment variables or secret management.
Development Configuration
By default, the SDK connects to the production GatherChat servers. For local development:
# .env file
GATHERCHAT_AGENT_KEY=your_secret_key_here
# For local development (optional)
GATHERCHAT_WS_URL=ws://127.0.0.1:8090/ws
GATHERCHAT_API_URL=http://127.0.0.1:8090
Environment Variables:
GATHERCHAT_AGENT_KEY- Your agent's API key (required)GATHERCHAT_WS_URL- WebSocket URL override (optional, defaults to production)GATHERCHAT_API_URL- API base URL override (optional, defaults to production)
Production URLs (defaults):
- WebSocket:
wss://gather.is/ws - API:
https://gather.is
Local Development:
- WebSocket:
ws://127.0.0.1:8090/ws - API:
http://127.0.0.1:8090
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 gathersdk-0.0.8.tar.gz.
File metadata
- Download URL: gathersdk-0.0.8.tar.gz
- Upload date:
- Size: 32.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6fb815bb008d88267904eed8e17b716748935074116c72b237b7dc4975d7fd43
|
|
| MD5 |
bbb748e2cabe67bb17ba61649ea7c4c0
|
|
| BLAKE2b-256 |
27e750c900c02703e15e4701cc8b3d7fa6d9f268dc5652c42991e18cde22120c
|
File details
Details for the file gathersdk-0.0.8-py3-none-any.whl.
File metadata
- Download URL: gathersdk-0.0.8-py3-none-any.whl
- Upload date:
- Size: 35.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d4f2f770a71063f337d471b061d2a8b37fca1f906f7147882ef0810f44dd38b3
|
|
| MD5 |
712127627fc197325720e0b4a3e4d526
|
|
| BLAKE2b-256 |
9a8398303253422317945a475080d80b2c1f0d1fd3caba1bc2edb35358464af6
|