aboutsummaryrefslogtreecommitdiffstats
path: root/pyproject.toml
diff options
context:
space:
mode:
authorblasty <blasty@local>2026-07-09 12:05:24 +0200
committerblasty <blasty@local>2026-07-09 12:05:24 +0200
commit8d67549eaa927c7ffc48c57f3ebc438c0fe7da09 (patch)
treea310556afc303c444f184fdc8fca28843e19f54d /pyproject.toml
parentkeep idle workers alive: bump_idle_ttl + KeepAlive heartbeat (diff)
downloadida-tui-8d67549eaa927c7ffc48c57f3ebc438c0fe7da09.tar.gz
ida-tui-8d67549eaa927c7ffc48c57f3ebc438c0fe7da09.tar.xz
ida-tui-8d67549eaa927c7ffc48c57f3ebc438c0fe7da09.zip
Phase 1 TUI: two-pane functions<->disasm, virtualized listing, nav backbone
- idatui/app.py: keyboard-first Textual app * FunctionsPanel: lazy-streamed function list (DataTable) with glob filter * DisasmView: line-VIRTUALIZED ScrollView -- paints from domain block cache, background-fetches misses, prefetches neighbors. Proven: 52,120-insn func, jump-to-bottom in 0.31s with only ~6 blocks (~1.5k lines) ever materialized. * address-history nav stack (Enter follow / Esc back); goto by name or 0xADDR * bump_idle_ttl + KeepAlive on startup so the session never idles out * all MCP work on Textual worker threads; UI never blocks - idatui/tui.py: launcher (python -m idatui.tui / console script 'idatui') - tests/test_tui.py: headless Pilot test, 9/9 (boot, load 10k funcs, open, scroll, bg-cache, goto-bottom, filter) - pyproject: textual extra + idatui script entry
Diffstat (limited to 'pyproject.toml')
-rw-r--r--pyproject.toml7
1 files changed, 5 insertions, 2 deletions
diff --git a/pyproject.toml b/pyproject.toml
index e491542..cb23cfa 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -8,10 +8,13 @@ requires-python = ">=3.11"
dependencies = []
[project.optional-dependencies]
-# The TUI layer (added in a later phase) pulls in Textual.
-tui = ["textual>=0.60"]
+# The TUI layer pulls in Textual; the client/domain layers are stdlib-only.
+tui = ["textual>=8"]
dev = ["pytest>=8"]
+[project.scripts]
+idatui = "idatui.tui:main"
+
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"