graphnav 1.2.0__tar.gz → 1.2.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {graphnav-1.2.0/graphnav.egg-info → graphnav-1.2.1}/PKG-INFO +1 -1
- {graphnav-1.2.0 → graphnav-1.2.1}/README.md +6 -0
- {graphnav-1.2.0 → graphnav-1.2.1}/codex_graph/doctor.py +3 -3
- {graphnav-1.2.0 → graphnav-1.2.1}/codex_graph/multirepo.py +14 -4
- {graphnav-1.2.0 → graphnav-1.2.1/graphnav.egg-info}/PKG-INFO +1 -1
- {graphnav-1.2.0 → graphnav-1.2.1}/pyproject.toml +1 -1
- {graphnav-1.2.0 → graphnav-1.2.1}/LICENSE +0 -0
- {graphnav-1.2.0 → graphnav-1.2.1}/codex_graph/__init__.py +0 -0
- {graphnav-1.2.0 → graphnav-1.2.1}/codex_graph/cli.py +0 -0
- {graphnav-1.2.0 → graphnav-1.2.1}/codex_graph/config.py +0 -0
- {graphnav-1.2.0 → graphnav-1.2.1}/codex_graph/graph_cache.py +0 -0
- {graphnav-1.2.0 → graphnav-1.2.1}/codex_graph/graph_nav.py +0 -0
- {graphnav-1.2.0 → graphnav-1.2.1}/codex_graph/graph_query.py +0 -0
- {graphnav-1.2.0 → graphnav-1.2.1}/codex_graph/mcp_server.py +0 -0
- {graphnav-1.2.0 → graphnav-1.2.1}/codex_graph/runner.py +0 -0
- {graphnav-1.2.0 → graphnav-1.2.1}/graphnav.egg-info/SOURCES.txt +0 -0
- {graphnav-1.2.0 → graphnav-1.2.1}/graphnav.egg-info/dependency_links.txt +0 -0
- {graphnav-1.2.0 → graphnav-1.2.1}/graphnav.egg-info/entry_points.txt +0 -0
- {graphnav-1.2.0 → graphnav-1.2.1}/graphnav.egg-info/requires.txt +0 -0
- {graphnav-1.2.0 → graphnav-1.2.1}/graphnav.egg-info/top_level.txt +0 -0
- {graphnav-1.2.0 → graphnav-1.2.1}/setup.cfg +0 -0
- {graphnav-1.2.0 → graphnav-1.2.1}/tests/test_cli.py +0 -0
- {graphnav-1.2.0 → graphnav-1.2.1}/tests/test_config.py +0 -0
- {graphnav-1.2.0 → graphnav-1.2.1}/tests/test_doctor.py +0 -0
- {graphnav-1.2.0 → graphnav-1.2.1}/tests/test_graph_cache.py +0 -0
- {graphnav-1.2.0 → graphnav-1.2.1}/tests/test_graph_nav.py +0 -0
- {graphnav-1.2.0 → graphnav-1.2.1}/tests/test_graph_query.py +0 -0
- {graphnav-1.2.0 → graphnav-1.2.1}/tests/test_mcp_server.py +0 -0
- {graphnav-1.2.0 → graphnav-1.2.1}/tests/test_multirepo.py +0 -0
- {graphnav-1.2.0 → graphnav-1.2.1}/tests/test_runner.py +0 -0
|
@@ -360,6 +360,12 @@ The generated `CLAUDE.md`, `AGENTS.md`, and `.github/copilot-instructions.md` ca
|
|
|
360
360
|
|
|
361
361
|
---
|
|
362
362
|
|
|
363
|
+
## Changelog
|
|
364
|
+
|
|
365
|
+
See [CHANGELOG.md](CHANGELOG.md) for a full version history.
|
|
366
|
+
|
|
367
|
+
---
|
|
368
|
+
|
|
363
369
|
## License
|
|
364
370
|
|
|
365
371
|
[MIT](LICENSE) © 2026 Amogh Rao
|
|
@@ -2,7 +2,6 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
import json
|
|
4
4
|
import os
|
|
5
|
-
import shutil
|
|
6
5
|
import subprocess
|
|
7
6
|
from dataclasses import dataclass
|
|
8
7
|
|
|
@@ -13,6 +12,7 @@ from codex_graph.multirepo import (
|
|
|
13
12
|
_load_env_file,
|
|
14
13
|
_overarching_graph_path,
|
|
15
14
|
detect_services,
|
|
15
|
+
find_graphify,
|
|
16
16
|
staleness_note,
|
|
17
17
|
)
|
|
18
18
|
|
|
@@ -35,9 +35,9 @@ class CheckResult:
|
|
|
35
35
|
|
|
36
36
|
|
|
37
37
|
def _check_graphify_binary() -> CheckResult:
|
|
38
|
-
path =
|
|
38
|
+
path = find_graphify()
|
|
39
39
|
if path is None:
|
|
40
|
-
return CheckResult("fail", "graphify binary", "not found
|
|
40
|
+
return CheckResult("fail", "graphify binary", "not found — install with: pip install graphifyy")
|
|
41
41
|
detail = path
|
|
42
42
|
try:
|
|
43
43
|
out = subprocess.run([path, "--version"], capture_output=True, text=True, timeout=5)
|
|
@@ -13,6 +13,16 @@ from dataclasses import dataclass, field
|
|
|
13
13
|
from codex_graph.config import MonoConfig, QueryConfig
|
|
14
14
|
|
|
15
15
|
|
|
16
|
+
def find_graphify() -> str | None:
|
|
17
|
+
path = shutil.which("graphify")
|
|
18
|
+
if path:
|
|
19
|
+
return path
|
|
20
|
+
candidate = os.path.join(os.path.dirname(sys.executable), "graphify")
|
|
21
|
+
if os.path.isfile(candidate) and os.access(candidate, os.X_OK):
|
|
22
|
+
return candidate
|
|
23
|
+
return None
|
|
24
|
+
|
|
25
|
+
|
|
16
26
|
def _warn(msg: str) -> None:
|
|
17
27
|
print(f"[graphnav] warning: {msg}", file=sys.stderr)
|
|
18
28
|
|
|
@@ -825,9 +835,9 @@ def run_map(
|
|
|
825
835
|
dry_run: bool = False,
|
|
826
836
|
) -> int:
|
|
827
837
|
root = os.path.abspath(root)
|
|
828
|
-
graphify_path =
|
|
838
|
+
graphify_path = find_graphify()
|
|
829
839
|
if graphify_path is None:
|
|
830
|
-
print("Error: 'graphify' not found
|
|
840
|
+
print("Error: 'graphify' not found. Install with: pip install graphifyy", file=sys.stderr)
|
|
831
841
|
return 1
|
|
832
842
|
|
|
833
843
|
services = detect_services(root, mono_cfg.marker_files, mono_cfg.extra_skip_dirs)
|
|
@@ -872,9 +882,9 @@ def run_watch(
|
|
|
872
882
|
backend_override: str | None = None,
|
|
873
883
|
) -> int:
|
|
874
884
|
root = os.path.abspath(root)
|
|
875
|
-
graphify_path =
|
|
885
|
+
graphify_path = find_graphify()
|
|
876
886
|
if graphify_path is None:
|
|
877
|
-
print("Error: 'graphify' not found
|
|
887
|
+
print("Error: 'graphify' not found. Install with: pip install graphifyy", file=sys.stderr)
|
|
878
888
|
return 1
|
|
879
889
|
|
|
880
890
|
services = detect_services(root, mono_cfg.marker_files, mono_cfg.extra_skip_dirs)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|