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.43.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 | |
|---|---|---|---|
| agk-0.43.1.tar.gz | 1.3 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| agk-0.43.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.7 MB
Release files / agk-0.43.1.tar.gz
| Download URL | agk-0.43.1.tar.gz |
|---|---|
| Size | 1.3 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
de81b89d79e7b323d39d2cb968e290d6c1f788b1ca1a5fbd5f710e0fe868d0ee
|
|
BLAKE2b-256 checksum How to use checksums |
41ed0c1214a9ea2b258d796c83dd809a9bc88cd9147619f9ec80c5b324146739
|
| 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.43.1-py3-none-any.whl
| Download URL | agk-0.43.1-py3-none-any.whl |
|---|---|
| Size | 1.4 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a770208a0af08aa5253dc6c38c8fc3eb7edbe675763315ded0652692008602ce
|
|
BLAKE2b-256 checksum How to use checksums |
51846728689512b3203d1c8a621f345d5c57bb6e67192226d8a561e54049922d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.10
|