aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md4
-rw-r--r--docs/GRAPH_VIEW.md22
-rw-r--r--experiments/bench_ops.py6
-rw-r--r--pyproject.toml4
4 files changed, 18 insertions, 18 deletions
diff --git a/README.md b/README.md
index 49da39a..3eb6c60 100644
--- a/README.md
+++ b/README.md
@@ -146,10 +146,6 @@ database. Iterate on one with `--only`:
~/ida-venv/bin/python tests/test_scenarios.py targets/echo --only hex,rename
```
-Before optimising or debugging a slow run, read
-[`.fastfeedback/SPEED.md`](.fastfeedback/SPEED.md) — per-suite timings, the known
-flake, and the four ways a test here wastes minutes.
-
[sl0p.foo](https://sl0p.foo)
diff --git a/docs/GRAPH_VIEW.md b/docs/GRAPH_VIEW.md
index a3d2645..3aced1f 100644
--- a/docs/GRAPH_VIEW.md
+++ b/docs/GRAPH_VIEW.md
@@ -72,7 +72,7 @@ keypress, and triskel's cost knees hard just past it (174 blocks: 66 ms;
| | native | triskel |
|---|---|---|
| algorithm | layered Sugiyama, below | SESE decomposition ([paper](https://hal.science/hal-04996939)) |
-| ships with | always, pure python | needs `pytriskel` (our fork) |
+| ships with | always, pure python | needs `pytriskel` (patched fork, unpublished) |
| shape | wide and short | narrow and tall |
| crossings | more | far fewer |
| 87-block `main` | 15 ms, 1202×444 | 37 ms, 845×789 |
@@ -224,6 +224,14 @@ drive raw graph action=zoom
It is optional; without it everything works and `auto` means `native`.
+It needs `pytriskel`, and specifically a **patched build that is not published
+anywhere yet**. Upstream's wheels stop at cp313 with no sdist (so there is
+nothing to install on 3.14), and on any version their `get_waypoints()` raises,
+which means no edge routes at all. Until that fork is released you will get the
+native engine — which is the default, ships with the repo, and is fully
+supported. The rest of this section only applies if you already have a patched
+build tree.
+
**Install it into the interpreter the launcher actually runs**, which is
`$IDATUI_PYTHON` and defaults to `~/ida-venv/bin/python` — *not* the repo's
`.venv`, which is only what the tests use. Getting this wrong is the one way to
@@ -231,14 +239,10 @@ see `no pytriskel in ...` in the status bar while `tests/test_graph.py` happily
exercises both engines; the message names the interpreter for that reason.
```bash
-~/ida-venv/bin/python -m pip install ~/dev/triskel/bindings/python
-.venv/bin/python -m pip install ~/dev/triskel/bindings/python # for the tests
+"$IDATUI_PYTHON" -m pip install /path/to/triskel/bindings/python
+.venv/bin/python -m pip install /path/to/triskel/bindings/python # for the tests
```
Needs cmake, ninja and a C++23 compiler at install time; the wheel is built from
-source for whichever interpreter runs pip.
-
-That is **our fork**, not PyPI. Upstream's wheels stop at cp313 with no sdist
-(so there is nothing to install on 3.14), and on any version their
-`get_waypoints()` raises, which means no edge routes at all. `~/dev/triskel/PATCHES.md`
-lists every change. `$IDATUI_TRISKEL_PATH` can point at a build tree instead.
+source for whichever interpreter runs pip. `$IDATUI_TRISKEL_PATH` can point at a
+build tree instead of installing.
diff --git a/experiments/bench_ops.py b/experiments/bench_ops.py
index 6ed64e0..178b4bc 100644
--- a/experiments/bench_ops.py
+++ b/experiments/bench_ops.py
@@ -18,14 +18,14 @@ replace or delete it::
PYTHONPATH=. ~/ida-venv/bin/python /tmp/bench_ops.py
# A: the client as it SHIPPED on the old library, workarounds and all
- git checkout d74b6f5 # the commit before the workaround removal
+ git checkout 8550474 # the commit before the workaround removal
PYTHONPATH=. ~/ida-venv/bin/python /tmp/bench_ops.py
- git checkout master && git -C ~/dev/ida-codemode checkout main # ALWAYS restore
+ git checkout main && git -C ~/dev/ida-codemode checkout main # ALWAYS restore
ida-codemode is installed **editable** into both venvs, so checking that repo out
swaps the backend under the TUI with no reinstall -- which is what makes this A/B
-cheap. Results for 0.3.1 vs 0.3.2 are in `.fastfeedback/SPEED.md`.
+cheap.
"""
from __future__ import annotations
diff --git a/pyproject.toml b/pyproject.toml
index f8e75e6..a46dd45 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -16,8 +16,8 @@ dev = ["pytest>=8"]
# The graph view's SESE layout engine (`e` in graph mode) is optional: without
# it, layout falls back to the pure-python engine. It is deliberately NOT listed
# as a dependency -- PyPI's pytriskel has no wheel for current Pythons, no sdist,
-# and a binding bug that makes edge routes unreachable. Install our fork:
-# uv pip install ~/dev/triskel/bindings/python
+# and a binding bug that makes edge routes unreachable. It needs a patched fork
+# that is not published yet; see docs/GRAPH_VIEW.md.
[project.scripts]
idatui = "idatui.launch:main"