diff options
| author | blasty <blasty@local> | 2026-07-09 12:05:24 +0200 |
|---|---|---|
| committer | blasty <blasty@local> | 2026-07-09 12:05:24 +0200 |
| commit | 8d67549eaa927c7ffc48c57f3ebc438c0fe7da09 (patch) | |
| tree | a310556afc303c444f184fdc8fca28843e19f54d /pyproject.toml | |
| parent | keep idle workers alive: bump_idle_ttl + KeepAlive heartbeat (diff) | |
| download | ida-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.toml | 7 |
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" |
