Skip to content

Desktop GUI

A small Tkinter desktop app (pure standard library — no third-party dependencies) wraps the three engines behind buttons.

Launch

python -m gui              # from the repo root
uv run python -m gui
python engine/runner.py gui

pip install algorithm-discovery-engine won't include the GUI — the app is meant to run from a checkout — but nothing beyond Python ≥ 3.10 with tkinter is required.

Tabs

Discover

Drives the algorithm synthesizer from the UI.

  • Run smoke pass — CI-friendly reduced-budget pass (~2 min).
  • Run full pass — the full 600k-candidate budget.
  • Refresh — reload the latest catalog/discoveries/report.json.
  • Open report (markdown) / Open solutions folder — jump straight to the generated report and solutions/*.py.

The table shows per-target id, kind, status, novelty, search time, and strategy. Status colors mirror the CLI contract: green = verified, red = rejected.

Pattern discovery

Type any integer sequence (spaces or commas, negatives welcome) and hit Discover. The ranked hypotheses render as a table with confidence, predicted next term, and the explanation from the pattern discovery framework.

Engine

A scratch terminal for the multi-language engine:

  • Check vectors — assert committed vectors match the catalog.
  • Run pytest — the Python quality suite.
  • Run build — compile Java, C++17, and Rust tiers.
  • Benchmark — full cross-language benchmark table.
  • Open docs / Open GitHub — external links.

Long-running actions run in a background thread with the buttons disabled; the status bar reports readiness and failures. The GUI is fully functional on a headless box only for the core logic (see gui/core.py); rendering needs a display.

Architecture

src/gui/core.py     pure logic (no tkinter) — tested headlessly in CI
src/gui/app.py      Tkinter rendering + background worker thread
src/gui/__main__.py launcher (python -m gui)