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?"))
🚀 Features
- Multi-provider support — OpenAI, Anthropic, Groq, DeepSeek, Ollama, Cerebras, and more
- Tool calling — Decorate any Python function as a tool with
@tool - Memory — Built-in conversation memory with persistent storage options
- CLI —
warp initscaffolds a project,warp servestarts an API server - Streaming — Real-time token streaming for all providers
- Type-safe — Full type hints and Pydantic model support
- Lightweight — Minimal dependencies, fast startup, production-ready
🔌 Providers
WarpOS supports multiple LLM providers out of the box. Swap providers with one line:
| Provider | Models | Streaming | Tool Calling |
|---|---|---|---|
| OpenAI | GPT-4o, GPT-4, GPT-3.5 | ✅ | ✅ |
| Anthropic | Claude 3.5 Sonnet, Claude 3 Opus | ✅ | ✅ |
| Groq | Llama 3, Mixtral | ✅ | ✅ |
| DeepSeek | DeepSeek-V2, DeepSeek Coder | ✅ | ✅ |
| Ollama | Llama 3, Mistral, any local model | ✅ | ✅ |
| Cerebras | Llama 3, custom models | ✅ | ✅ |
# Switch providers easily
agent = Agent(name="Bot", model="anthropic/claude-3-5-sonnet-20241022")
agent = Agent(name="Bot", model="groq/llama3-70b-8192")
agent = Agent(name="Bot", model="ollama/llama3")
🖥️ CLI
WarpOS includes a CLI for scaffolding and running agents:
# Create a new project
warp init my-agent
# Start the development server
warp serve
# Run with hot reload
warp serve --reload
🏗️ Architecture
WarpOS is built around five core components:
- Agent — The orchestrator. Takes instructions, manages context, calls tools, returns responses.
- Tools — Python functions exposed to the agent via the
@tooldecorator. Type-hinted, self-documenting. - Memory — Conversation history and long-term storage. Pluggable backends (in-memory, SQLite, Redis).
- Provider — Abstraction layer over LLM APIs. Handles routing, retries, rate limits, and streaming.
- Server — HTTP server with REST API and WebSocket support for real-time agent interactions.
┌─────────────────────────────────────────────┐
│ Agent │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Memory │ │ Tools │ │ Provider │ │
│ └──────────┘ └──────────┘ └──────────┘ │
└─────────────────────────────────────────────┘
│
┌──────┴──────┐
│ Server │
└─────────────┘
📖 Examples
Check out the examples/ directory:
- Advanced Agent — Multiple tools, custom provider, memory
- Discord Bot — Build a Discord bot with WarpOS
- Telegram Bot — Build a Telegram bot with WarpOS
🤝 Contributing
We welcome contributions of all kinds. See CONTRIBUTING.md for setup instructions, coding standards, and how to submit a PR.
git clone https://github.com/warp-os/warpos.git
cd warpos
pip install -e ".[dev]"
pytest
📄 License
WarpOS is released under the MIT License.
⭐ Star History
If you find WarpOS useful, consider giving it a star on GitHub!
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.0.tar.gz.
File metadata
- Download URL: warpos-0.1.0.tar.gz
- Upload date:
- Size: 26.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
42a2289a458d62400c09606a42b5654899bf40c08939a2563cee69ba83f78342
|
|
| MD5 |
106e7e5abdbc9637bd41ce7c423b5b70
|
|
| BLAKE2b-256 |
0bedeceed05dda1946050a3a38e910d4f52c6e29f27e64b610ebfaedd69db983
|
File details
Details for the file warpos-0.1.0-py3-none-any.whl.
File metadata
- Download URL: warpos-0.1.0-py3-none-any.whl
- Upload date:
- Size: 16.9 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 |
f5093243c15f4c3b4584cab66c163192e673851e6be45f274c4b15916e994881
|
|
| MD5 |
53106b2f24a00d92bd8d64c11dbb41a4
|
|
| BLAKE2b-256 |
625be686fda0e3bbc515c4dcbf1bea463b224a9974774b900ca8425e52f2cd55
|