Skip to main content

The open-source platform for AI agents. Write logic, deploy everything.

Project description


WarpOS



The open-source platform for AI agents.

Write logic, deploy everything.

PyPI Version Python License: MIT GitHub Stars

Website · Docs · PyPI · Examples


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
  • CLIwarp init scaffolds, warp serve deploys
  • 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 @tool decorator
  • Memory — SQLite + FTS5 persistent conversation storage
  • Provider — Unified LLM routing with OpenAI/Anthropic compatibility
  • Server — FastAPI + WebSocket with auto-generated chat UI

Examples


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

warpos-0.1.2.tar.gz (26.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

warpos-0.1.2-py3-none-any.whl (16.6 kB view details)

Uploaded Python 3

File details

Details for the file warpos-0.1.2.tar.gz.

File metadata

  • Download URL: warpos-0.1.2.tar.gz
  • Upload date:
  • Size: 26.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for warpos-0.1.2.tar.gz
Algorithm Hash digest
SHA256 7a2a43f39c14acf89a7adf59a6b8ffc8f719c7486f03d512e13e380ff86ea0b6
MD5 8d8c90f3c5063ce9f15d9faab03b398e
BLAKE2b-256 1c36146767f326db52b8253ff20d7dd73cb928c082751e6e594db5bfda999ebc

See more details on using hashes here.

File details

Details for the file warpos-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: warpos-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 16.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for warpos-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c8128039dd1701d6d98c324acc2d4a07395e8f83f2686a32e14bd47cd3ac8318
MD5 117b1520e39b384351e970340a68a4f8
BLAKE2b-256 020fe9ed0c7d5c977de48a47541e90d05d1c7fbfced9213b676e65ca2dcbaf31

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page