Ajolopy¶
The Python framework for building AI-native applications in production.
What Rails was for database-backed web apps and what NestJS is for enterprise Node services: the default choice when what you're building has LLMs, agents, tools, prompts, evals, streaming, and MCP as core ingredients — not as an addon.
Ajolopy does not compete with FastAPI or LangChain. It competes for the complete AI-native application framework category, which is currently empty in Python.
Status: v0.1 — first public release
APIs are stable for the ten primitives; expect additive changes in
v0.1.x. Pin exact versions if you depend on the framework today.
Active roadmap and current work live in
board.json.
Why Ajolopy¶
Building an AI-native app today means stitching together:
- a web framework (FastAPI),
- an LLM SDK (Anthropic / OpenAI / Gemini),
- a streaming layer,
- a tool-call dispatcher,
- an evaluation harness,
- prompt versioning,
- MCP client and server transports,
- observability (OpenTelemetry, Langfuse, etc.),
- a project layout convention.
Ajolopy ships all of that as one opinionated framework with ten primitives.
The 10 primitives¶
| AI (7) | Framework (3) |
|---|---|
@Agent, @Tool, @Stream, @Eval, @Metric, @Workflow, @MCP |
@Module, @Injectable, @Controller |
Every primitive ships with a magical default that covers the 90% case with zero ceremony, and an escape hatch (subclass or override) for the 10% that needs full control.
Where to go next¶
-
:material-rocket-launch: Quickstart Five minutes from
uv pip install ajolopyto a working agent answeringcurlrequests. -
:material-school: Tutorial The three-step killer demo arc — agent, evals, multi-agent + MCP — in roughly 55 lines.
-
:material-chart-line: Recipes Plug Ajolopy into Langfuse, Sentry, Grafana, Honeycomb, or Datadog in under 10 minutes — same pipeline, different exporter.
-
:material-package-variant: Install Core install plus the full optional-extras matrix (observability, MCP, memory backends).
-
:material-map-marker-path: Next steps Per-primitive reference, example projects, observability and deploy recipes, and how to contribute.
Design tenets¶
- Default magical, escape hatch always available. Every primitive works as a one-line decorator and lets you subclass when you need full control.
- No 11th primitive in v0.1. Anything that would require a new decorator goes to v0.2+. The surface stays small on purpose.
- Production from day one. Observability, env validation, deploy templates, and evals are first-class — not addons.
License¶
MIT. Source on GitHub.