app-gui-kit Python server SDK — Flask server + framework-less Web Components shell for simulation/agent app GUIs (SSE streaming, HITL gates, pluggable viewers)
Project description
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
agk new my-jl-app --lang julia --viewer gltf # Julia app (AppGuiKit.jl)
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agk-0.10.1.tar.gz.
File metadata
- Download URL: agk-0.10.1.tar.gz
- Upload date:
- Size: 1.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c01df371d4b3879b6995c0a000aa9b36f3e6bc37f1e9fc051c9c99526158c57d
|
|
| MD5 |
cc496ab5c5003e3dc030fcd55386a959
|
|
| BLAKE2b-256 |
a2554acad23581fa371c5d84592530d363a54555796641108869f082c2d10cff
|
File details
Details for the file agk-0.10.1-py3-none-any.whl.
File metadata
- Download URL: agk-0.10.1-py3-none-any.whl
- Upload date:
- Size: 1.2 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2180f76a1440ab57079c5413389ea95e007a886d5288dce2cb657c04bc1e6e02
|
|
| MD5 |
110c182100c51166f6f4491487b93301
|
|
| BLAKE2b-256 |
c35d43aa96f4a9a3f4643c870294c9399866a830958e810b4b6f48f6ced04afb
|