aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md20
-rw-r--r--pyproject.toml5
-rw-r--r--uv.lock22
3 files changed, 20 insertions, 27 deletions
diff --git a/README.md b/README.md
index 5eb00f8..88e7e00 100644
--- a/README.md
+++ b/README.md
@@ -32,17 +32,25 @@ this draws it.
## Install
-Needs **Python ≥ 3.11**, **IDA Pro 9.4+ with idalib**, and
-[ida-codemode](https://github.com/HexRaysSA/ida-codemode) checked out next to
-this repo (`../ida-codemode`):
+Needs **Python ≥ 3.11** and **IDA Pro 9.4+ with idalib**.
```sh
-git clone https://github.com/HexRaysSA/ida-codemode ../ida-codemode
uv sync
```
-Install the ida-codemode plugin in IDA too, if you want the TUI to attach to
-databases you already have open in the GUI.
+That pulls [ida-codemode](https://github.com/HexRaysSA/ida-codemode) from PyPI,
+which is how ida-tui talks to IDA. To also attach to databases you have open in
+the IDA GUI, install its plugin:
+
+```sh
+uvx --prerelease=allow --from ida-codemode ida-codemode-mcp --install-plugin
+```
+
+Hacking on ida-codemode itself? Point at a checkout instead:
+
+```sh
+uv add --editable ../ida-codemode
+```
## Run
diff --git a/pyproject.toml b/pyproject.toml
index 943c1e1..1171107 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -6,7 +6,7 @@ requires-python = ">=3.11"
# ida-codemode supplies GUI discovery, shared idalib workers, leases, and the
# execute_python/ida-domain database surface.
dependencies = [
- "ida-codemode",
+ "ida-codemode>=0.3.1",
"textual>=8",
"pygments>=2", # Used directly for pseudocode highlighting.
]
@@ -24,6 +24,3 @@ build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["idatui"]
-
-[tool.uv.sources]
-ida-codemode = { path = "../ida-codemode", editable = true }
diff --git a/uv.lock b/uv.lock
index 46aeac9..9b3fc9e 100644
--- a/uv.lock
+++ b/uv.lock
@@ -94,7 +94,7 @@ wheels = [
[[package]]
name = "ida-codemode"
version = "0.3.1"
-source = { editable = "../ida-codemode" }
+source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "httpx" },
{ name = "ida-domain" },
@@ -103,21 +103,9 @@ dependencies = [
{ name = "packaging" },
{ name = "zeromcp" },
]
-
-[package.metadata]
-requires-dist = [
- { name = "httpx", specifier = "<1" },
- { name = "ida-domain", specifier = ">=0.5.1.dev2" },
- { name = "ida-hcli", specifier = ">=0.19.0" },
- { name = "idapro" },
- { name = "packaging" },
- { name = "zeromcp", specifier = ">=1.6.0" },
-]
-
-[package.metadata.requires-dev]
-dev = [
- { name = "pytest", specifier = ">=9.0.3" },
- { name = "ruff", specifier = ">=0.12.0" },
+sdist = { url = "https://files.pythonhosted.org/packages/84/8b/710e2c46c1f353ee5231300b87b3b4c19e7d9db8f81dd7f42721b06c0fca/ida_codemode-0.3.1.tar.gz", hash = "sha256:5c15425d2d9bc614f0bfebedeba77ef6aa4b7b570716be7b4b2e165ef10ea603", size = 170892, upload-time = "2026-08-07T08:53:17.897Z" }
+wheels = [
+ { url = "https://files.pythonhosted.org/packages/4e/72/09746e0367564dd00fb74e73277f2548d6ee332c9d9f3e1607fbae27f50d/ida_codemode-0.3.1-py3-none-any.whl", hash = "sha256:5e5e673335951f59a386b576dc3de9d67aeb8387916b99002cf679f402b821e0", size = 76984, upload-time = "2026-08-07T08:53:17.006Z" },
]
[[package]]
@@ -183,7 +171,7 @@ dev = [
[package.metadata]
requires-dist = [
- { name = "ida-codemode", editable = "../ida-codemode" },
+ { name = "ida-codemode", specifier = ">=0.3.1" },
{ name = "pygments", specifier = ">=2" },
{ name = "pytest", marker = "extra == 'dev'", specifier = ">=8" },
{ name = "textual", specifier = ">=8" },