The open-source platform for AI agents. Write logic, deploy everything.
Project description
██╗ ██╗ █████╗ ██████╗ ██████╗ ██████╗ ███████╗
██║ ██║██╔══██╗██╔══██╗██╔══██╗██╔═══██╗██╔════╝
██║ █╗ ██║███████║██████╔╝██████╔╝██║ ██║███████╗
██║███╗██║██╔══██║██╔══██╗██╔═══╝ ██║ ██║╚════██║
╚███╔███╔╝██║ ██║██║ ██║██║ ╚██████╔╝███████║
╚══╝╚══╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═════╝ ╚══════╝
The open-source platform for AI agents.
Write logic, deploy everything.
What is WarpOS?
WarpOS is a lightweight framework for building AI agents that actually work in production. It handles the messy parts — provider routing, tool orchestration, memory management, and server deployment — so you can focus on writing agent logic.
Ship a working agent in minutes, not days.
from warpos import Agent, tool
@tool
def get_weather(city: str) -> str:
"""Get the current weather for a city."""
return f"Sunny, 72°F in {city}"
agent = Agent(
name="WeatherBot",
model="gpt-4o",
tools=[get_weather],
instructions="You are a helpful weather assistant.",
)
response = agent.run("What's the weather in San Francisco?")
print(response)
Quick Start
pip install warpos
Set your API key:
export OPENAI_API_KEY=sk-...
Run your first agent:
from warpos import Agent
agent = Agent(name="MyAgent", model="gpt-4o")
print(agent.run("Hello! What can you do?"))
Or serve with a chat UI:
warp init my-agent
cd my-agent
warp serve
# → http://localhost:3000
Features
- Multi-provider — OpenAI, Anthropic, Groq, DeepSeek, Ollama, Cerebras
- Tool calling — Decorate any Python function with
@tool - Memory — Built-in persistent conversation memory (SQLite + FTS5)
- Chat UI — Auto-generated WebSocket chat interface
- CLI —
warp initscaffolds,warp servedeploys - Type-safe — Full type hints, Pydantic support
- Lightweight — Minimal dependencies, fast startup
Providers
Swap providers with one line:
agent = Agent(name="Bot", provider="openai", model="gpt-4o")
agent = Agent(name="Bot", provider="anthropic", model="claude-sonnet-4-20250514")
agent = Agent(name="Bot", provider="groq", model="llama3-70b-8192")
agent = Agent(name="Bot", provider="ollama", model="llama3")
| Provider | Env Variable | Base URL |
|---|---|---|
| OpenAI | OPENAI_API_KEY |
api.openai.com |
| Anthropic | ANTHROPIC_API_KEY |
api.anthropic.com |
| Groq | GROQ_API_KEY |
api.groq.com |
| DeepSeek | DEEPSEEK_API_KEY |
api.deepseek.com |
| Cerebras | CEREBRAS_API_KEY |
api.cerebras.ai |
| Ollama | — | localhost:11434 |
CLI
warp init my-agent # scaffold a new project
warp serve agent.py # serve with chat UI on :3000
warp serve -p 8080 # custom port
Architecture
┌─────────────────────────────────────────────┐
│ Agent │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Memory │ │ Tools │ │ Provider │ │
│ └──────────┘ └──────────┘ └──────────┘ │
└─────────────────────────────────────────────┘
│
┌──────┴──────┐
│ Server │
│ (FastAPI) │
└─────────────┘
- Agent — Orchestrates context, tools, and provider calls
- Tools — Python functions exposed via
@tooldecorator - Memory — SQLite + FTS5 persistent conversation storage
- Provider — Unified LLM routing with OpenAI/Anthropic compatibility
- Server — FastAPI + WebSocket with auto-generated chat UI
Examples
- Basic Agent — Simple agent with tools
- Advanced Agent — Multiple tools, memory, custom provider
- Discord Bot — Discord integration
- Telegram Bot — Telegram integration
Contributing
git clone https://github.com/warp-os/warpos.git
cd warpos
pip install -e ".[dev]"
pytest
See CONTRIBUTING.md for details.
License
MIT — see LICENSE.
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
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 warpos-0.1.3.tar.gz.
File metadata
- Download URL: warpos-0.1.3.tar.gz
- Upload date:
- Size: 26.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
31ee9c044553f59aa433a438a64f1162f9b2b1c0e4f246436421f9ba2131f7d0
|
|
| MD5 |
5419ff2b41de295f2bab6eb03606d115
|
|
| BLAKE2b-256 |
727095f7ad56b55a57e8d985ff44e4cf3b6be52e95385a1e2d4364d24739cd73
|
File details
Details for the file warpos-0.1.3-py3-none-any.whl.
File metadata
- Download URL: warpos-0.1.3-py3-none-any.whl
- Upload date:
- Size: 16.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5c4d6b5e9f6609b6a062ff02c1d829d4c9665f0205b1a9ea2928fdc2856e5626
|
|
| MD5 |
e16aac283c97e7fe4622077bf1ae683a
|
|
| BLAKE2b-256 |
bf87ba59e1d8a3ec792d4beacc04160b41e41e9b13a77335725948fa23d40dd6
|