Skip to main content

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 SSE
  • POST /cancel / POST /reset / POST /intervene (HITL gates)
  • GET /artifact/<path> (traversal-safe) and POST /upload
  • GET /agk/<path> — serves the bundled frontend kit
  • /alive + /bye window-lifecycle watchdog (auto-exit when the tab closes)
  • /agent/* remote-job queue for headless (LLM) driving
  • /voice_status + /transcribe with 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agk-0.5.0.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

agk-0.5.0-py3-none-any.whl (1.2 MB view details)

Uploaded Python 3

File details

Details for the file agk-0.5.0.tar.gz.

File metadata

  • Download URL: agk-0.5.0.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

Hashes for agk-0.5.0.tar.gz
Algorithm Hash digest
SHA256 8eca3c6edab6b2cb0b3cdf9d6ddb837325d0163f23732ee1e0c7f2a3a5762339
MD5 6304ecb3d6dee9c5df9621d5540c239d
BLAKE2b-256 a4404f3bcf44bae0383fe6f1d423fde2911342fe793121fa506f5f0f44f5e721

See more details on using hashes here.

File details

Details for the file agk-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: agk-0.5.0-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

Hashes for agk-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4f13a35fbac0f5a1bf86599b5583047c3b40e6202cfb2c0ccd861f10f1adf01f
MD5 fc50044541db28a0e7587c2a1985acc7
BLAKE2b-256 c287b4cfcbf4e4a6447b0cc28d4fc1b079f479060e540a684adae73fce984b0f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page