Fast, lean AI agents. 5 lines to production.
Coding agents: See SKILLS.md for the complete API guide — tools, agents, multi-agent patterns, streaming, memory, and all imports in one file.
pop is a lightweight Python framework for building AI agents. It supports multiple LLM providers, has 5 core concepts, and gets you from install to a working agent in under 2 minutes.
Why pop?
- 5 lines to a working agent -- define a tool, create an agent, call
run. - 8 LLM providers built-in -- OpenAI, Anthropic, Gemini, DeepSeek, Grok, Kimi, MiniMax, GLM. Switch by changing one string.
- ~2,500 lines of code -- read the entire framework in an afternoon.
- 2 runtime dependencies --
httpxandpydantic. Import time under 1ms (lazy imports). - Zero commercial dependencies -- no forced telemetry, no vendor lock-in.
Install
uv add pop-framework
# or
pip install pop-framework
All 8 providers (OpenAI, Anthropic, Gemini, DeepSeek, Grok, Kimi, MiniMax, GLM) are included — no extras needed.
Quick Start
from pop import Agent, tool
@tool
def search(query: str) -> str:
"""Search the web for current information."""
return web_search(query) # your implementation
agent = Agent(model="openai:gpt-4o", tools=[search])
result = agent.run("What happened in AI today?")
print(result.output)
That's it. No StateGraph, no RunnableSequence, no ChannelWrite.
Docs
| Guide | What it covers |
|---|---|
| Skills | Complete API guide for building agents |
| Providers | Switching LLMs, failover, model adapters |
| Streaming | Real-time events, pattern matching |
| Workflows | Chain, route, parallel, agent, orchestration |
| Multi-Agent | Handoff, pipeline, debate, fan_out |
| Memory | In-memory and markdown-based persistence |
| Benchmarks | Performance numbers, framework comparison |
Benchmarks
Reproduce:
python benchmarks/bench_startup.py && python benchmarks/bench_dx.py && python benchmarks/generate_charts.py
Details: docs/benchmarks.md
License
MIT
Release files for pop-framework 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pop_framework-1.2.0.tar.gz | 146.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pop_framework-1.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 189.9 kB
Release files / pop_framework-1.2.0.tar.gz
| Download URL | pop_framework-1.2.0.tar.gz |
|---|---|
| Size | 146.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
98e7d2c14db217dc561e2d1e949506d55b2f7aa0bdab4075d51e32e013557f13
|
|
BLAKE2b-256 checksum How to use checksums |
ad33a190809bd6c95af88c0350f5328d5c469ab83ac88f77007abefe1aa7e399
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.17
|
Release files / pop_framework-1.2.0-py3-none-any.whl
| Download URL | pop_framework-1.2.0-py3-none-any.whl |
|---|---|
| Size | 43.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7533340b0f6329d40bfc142342b1b436189262470f33af266746a175375ea4e2
|
|
BLAKE2b-256 checksum How to use checksums |
457016979103c73217afec3564bc03b309a80628ee2db260c9603827c3c318a1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.17
|