agk — app-gui-kit Python server SDK
A small framework for building local, single-user GUIs for simulation / agent
applications. One AgkApp gives you a Flask server implementing the
app-gui-kit protocol, and the bundled frontend kit (framework-less Web
Components) gives you a ready-made shell — composer, streaming task log, and
pluggable result viewers (glTF / STL / FEM mesh / 2D fields / WebGPU / media /
cards / markdown / deck).
from agk import AgkApp
def runner(req, ctx):
ctx.emit.task("t1", "running", title="Analyze")
ctx.emit.text("working…")
if req.get("options", {}).get("step"):
ctx.gate("Proceed?") # human-in-the-loop gate
ctx.emit.artifact("gltf", url="/artifact/result.glb")
ctx.emit.task("t1", "done")
ctx.emit.done(summary="finished")
AgkApp("My Agent App", runner, capabilities=("step",)).run()
<!-- index.html — zero build step -->
<link rel="stylesheet" href="/agk/agk.css">
<script type="module" src="/agk/agk.js"></script>
<script type="module" src="/agk/agk-viewer-gltf.js"></script>
<agk-shell app="My Agent App"></agk-shell>
What AgkApp provides
POST /stream— SSE event streaming (single-flight), plus a polling transport for clients that cannot use SSEPOST /cancel/POST /reset/POST /intervene(HITL gates)GET /artifact/<path>(traversal-safe) andPOST /uploadGET /agk/<path>— serves the bundled frontend kit/alive+/byewindow-lifecycle watchdog (auto-exit when the tab closes)/agent/*remote-job queue for headless (LLM) driving/voice_status+/transcribewith a pluggable transcriber
Scaffolding
agk new my-sim-app --viewer field2d # Python app
Notes
- The protocol, endpoints, design tokens and viewer interface are specified in
the app-gui-kit repository (
spec/). - The bundled frontend (
agk/static/) includes three.js (MIT, © Three.js Authors); its license banner is retained in the bundle.
Release files for agk 0.40.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 | |
|---|---|---|---|
| agk-0.40.0.tar.gz | 1.3 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agk-0.40.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.6 MB
Release files / agk-0.40.0.tar.gz
| Download URL | agk-0.40.0.tar.gz |
|---|---|
| Size | 1.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e1deec1f551ee0dddd1fcd8b62186d0b533b1746cb9e102d8e20932d84cab823
|
|
BLAKE2b-256 checksum How to use checksums |
ab6637ea40162700d9b1b3cc4245424f750c3918de3985a4143325c8933328d9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.10
|
Release files / agk-0.40.0-py3-none-any.whl
| Download URL | agk-0.40.0-py3-none-any.whl |
|---|---|
| Size | 1.3 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c52b2df45dcb9c538f347c320e03f98c67b2e6f833ebd871886d80bfcd075243
|
|
BLAKE2b-256 checksum How to use checksums |
1756aca7395437b4a0564297f74a9b16bb9d68960604260744e54401a25630a4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.10
|