AQVEN
An engineering environment for AI systems. Define, validate, test, run, evaluate and debug LLM workflows as a system — instead of leaving their logic scattered across prompts, model settings, tools, orchestration code and tests.
📖 Documentation · 🚀 Quickstart · 🧭 Studio guide · 📚 API reference
The problem it solves
A prototype is input → model → output. Production is not. A real AI system combines several models, context
sources, tools, retries, judges and verification steps — and once it does, a successful run stops being
evidence that anything works.
Changing a prompt, a model, a provider or a schema affects quality, cost and latency differently for different inputs. AQVEN makes those parts and their relationships explicit, so you can answer:
- What system do we actually have?
- Which prompt, model, context, tool or step should change?
- Did that change improve quality for the cases that matter?
- Why did this run produce an almost-right result?
- Can a coding agent understand the system well enough to change it safely?
Install and open it
AQVEN installs as a single package. Studio, the local browser interface, ships inside it — no Node.js toolchain, no separate front-end install, nothing to build.
uv tool install aqven
aqven new my_project
cd my_project
uv run aqven dev
aqven new creates the project from a template, installs its environment and generates typed models.
aqven dev starts the local server and opens Studio in your browser.
How a project looks
Workflows are files in your repository, not rows in a database. A node is a YAML file, a prompt is a
Markdown file, a code step is a Python function referenced as module:function. Identity is the path on
disk, history is git.
my_project/
aqven.yaml providers, data policies, trust defaults
types/ types declared once, Python models generated from them
agents/ model, settings, output contract, limits
flows/support_case/
flow.yaml
nodes/triage/
triage.node.yaml
triage.prompt.md
triage.py
evals/ datasets and scored cases
That layout is the reason a coding agent — Claude Code, Codex, Cursor — can read the system before editing it,
and the reason aqven check can validate the whole project before anything runs.
The engineering loop
Define → Validate → Test → Run → Evaluate → Learn → Improve
| Command | What it does |
|---|---|
aqven check |
validates the project and simulates every flow without network access or tokens |
aqven run |
runs a flow locally and streams run events as they happen |
aqven dev |
project server plus Studio: canvas, runs, datasets, human review |
aqven eval |
runs an eval over its dataset, scores every case, compares against a baseline |
aqven optimize |
optimizes a prompt with GEPA |
aqven serve |
HTTP API and MCP server, without a browser |
aqven mcp |
MCP over stdio, so a coding agent can inspect and edit the project |
What it is built on
AQVEN does not reimplement the parts of the stack that already work well. Model-facing agents, providers and tools use Pydantic AI; durable execution, recovery and waits for people use DBOS. AQVEN adds the project format, typed workflow contracts, the compiler, checks, run interfaces and Studio. See Architecture.
Runs locally on SQLite. Python 3.14.
Keywords
AI workflow orchestration · LLM pipelines · prompt engineering · agent evaluation · LLM observability · structured output · human-in-the-loop · MCP server · durable execution · Pydantic AI · DBOS
License
AQVEN License 1.0.0, based on PolyForm Shield 1.0.0 — source-available. Use it for any purpose, including in production and in commercial products you build with it. You may not use it to provide a product that competes with AQVEN, and you may redistribute AQVEN itself only free of charge and for a non-commercial purpose.
Copyright Kirill Burkhanov.
Release files for aqven 0.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| aqven-0.0.1.tar.gz | 1.3 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aqven-0.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.9 MB
Release files / aqven-0.0.1.tar.gz
| Download URL | aqven-0.0.1.tar.gz |
|---|---|
| Size | 1.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5cde576eefd2843e80ad29e32bad02f41d965192cd9fd42139e83c882b4c38c1
|
|
BLAKE2b-256 checksum How to use checksums |
a19fa7ef95b85950ed985b9d1b75b46e5ac3a72780ff2b5070fe816f8c22096a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / aqven-0.0.1-py3-none-any.whl
| Download URL | aqven-0.0.1-py3-none-any.whl |
|---|---|
| Size | 1.6 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
982809cc72b637658a0079efb3d613f29b7a94a0532b8d8f7ad9c776d97a3d8c
|
|
BLAKE2b-256 checksum How to use checksums |
00bc77f5ad8317dd1520fd1fdfeb84aa0b2cf30a800c4b1bcca9f1c13730ed84
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.15 {"installer":{"name":"uv","version":"0.12.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|