aboutsummaryrefslogtreecommitdiffstats
path: root/pyproject.toml
diff options
context:
space:
mode:
authorblasty <blasty@local>2026-07-09 11:14:23 +0200
committerblasty <blasty@local>2026-07-09 11:14:23 +0200
commiteec630887ce72a7dafae4c33f5e85ad7c746b038 (patch)
tree7f5c736249e6ba32317cb4c17a25a4652661593b /pyproject.toml
downloadida-tui-eec630887ce72a7dafae4c33f5e85ad7c746b038.tar.gz
ida-tui-eec630887ce72a7dafae4c33f5e85ad7c746b038.tar.xz
ida-tui-eec630887ce72a7dafae4c33f5e85ad7c746b038.zip
persistent MCP client: warm handshake, keep-alive pool, error taxonomy, thread-safe
- IDAClient: single handshake, ~7ms warm calls (vs ~60ms cold CLI) - keep-alive connection pool over http.client; concurrent-safe (40 threads OK) - grounded error taxonomy: IDAToolError on isError, soft per-item errors as data - session-expiry recovery (404 -> re-handshake -> retry), bounded transport retries - auto db-injection + resolve_db (ignores stale empty-id sessions) - live smoke test: 13/13 pass
Diffstat (limited to 'pyproject.toml')
-rw-r--r--pyproject.toml20
1 files changed, 20 insertions, 0 deletions
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 0000000..e491542
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,20 @@
+[project]
+name = "idatui"
+version = "0.0.1"
+description = "A minimal keyboard-first TUI frontend for IDA Pro over the ida-pro-mcp (idalib) server."
+requires-python = ">=3.11"
+# The client layer is intentionally stdlib-only (urllib/http.client), matching the
+# ida-mcp skill philosophy: no install needed to talk to the server.
+dependencies = []
+
+[project.optional-dependencies]
+# The TUI layer (added in a later phase) pulls in Textual.
+tui = ["textual>=0.60"]
+dev = ["pytest>=8"]
+
+[build-system]
+requires = ["hatchling"]
+build-backend = "hatchling.build"
+
+[tool.hatch.build.targets.wheel]
+packages = ["idatui"]