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

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.19.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.19.0-py3-none-any.whl (1.3 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: agk-0.19.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.19.0.tar.gz
Algorithm Hash digest
SHA256 c7217da2673aaa6ff31f8f427a96334b940d53e672f2e9528129c145dbf92d42
MD5 e6c912bba3837c15a4be7f26dc299164
BLAKE2b-256 8f9932bf4bbc964009dfae5a1ee4f96664ec6035aa6cb381c1ec33820d6aa83a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: agk-0.19.0-py3-none-any.whl
  • Upload date:
  • Size: 1.3 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.19.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e88334dbee97af397ee39b0b7c0403dfa75c25f4e4a37e86c6cac3fdea04bd0b
MD5 aba10b5b0ffac1e59264bd89b22d1799
BLAKE2b-256 01720e8f63e592853be98b6e5b325535a39a341a31e03652d2ab388209932195

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