One page, top to bottom
Guards, actions, queries and the screen in the order they run. No JavaScript to write.
Database, forms, sessions and AI in the language. No build chain, no JavaScript, no front-end framework.
Quantum builds web applications from declarative XML pages — the same page also runs in a terminal and in a desktop window. Inspired by ColdFusion and Adobe Flex, it lets you build internal tools, dashboards and AI applications without writing JavaScript. Why Quantum?
A page that lists notes from a database and adds one from a form — the rule on the field, the insert and the message after it included:
<q:component name="Notes">
<q:action name="add" method="POST">
<q:param name="title" required="true" minlength="3" />
<q:query name="added" datasource="db">
INSERT INTO notes (title) VALUES (:title)
<q:param name="title" value="{title}" type="string" />
</q:query>
<q:redirect url="/" flash="Added: {title}" />
</q:action>
<q:query name="notes" datasource="db">SELECT title FROM notes ORDER BY id</q:query>
<h1>Notes ({notes_result.recordCount})</h1>
<q:if condition="flash"><p class="flash">{flash}</p></q:if>
<form method="POST" action="/?action=add">
<input name="title" />
<button>Add</button>
</form>
<ul>
<q:loop query="notes"><li>{notes.title}</li></q:loop>
</ul>
</q:component>This page and its test run on every change — see the recipe A first test with quantum test.
q:set for variables with validation and type checkingq:loopq:if/q:elseif/q:else supportq:functionui:*) q:paramquantum checkq:mail (guide)q:llm with sources and streaming, q:knowledge, q:agent (guide)Simplicity over configuration
Quantum prioritizes readability and ease of use while maintaining powerful capabilities. If you know XML and SQL, you can build full applications.
pip install quantum-framework
quantum start # in an application folder; the guide builds one step by step