graphifyy 0.3.3__tar.gz → 0.3.4__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.
- {graphifyy-0.3.3 → graphifyy-0.3.4}/PKG-INFO +1 -1
- {graphifyy-0.3.3 → graphifyy-0.3.4}/graphify/__main__.py +16 -16
- {graphifyy-0.3.3 → graphifyy-0.3.4}/graphifyy.egg-info/PKG-INFO +1 -1
- {graphifyy-0.3.3 → graphifyy-0.3.4}/pyproject.toml +1 -1
- {graphifyy-0.3.3 → graphifyy-0.3.4}/LICENSE +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/README.md +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/graphify/__init__.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/graphify/analyze.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/graphify/benchmark.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/graphify/build.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/graphify/cache.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/graphify/cluster.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/graphify/detect.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/graphify/export.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/graphify/extract.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/graphify/hooks.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/graphify/ingest.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/graphify/manifest.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/graphify/report.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/graphify/security.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/graphify/serve.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/graphify/skill-claw.md +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/graphify/skill-codex.md +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/graphify/skill-opencode.md +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/graphify/skill-windows.md +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/graphify/skill.md +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/graphify/validate.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/graphify/watch.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/graphify/wiki.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/graphifyy.egg-info/SOURCES.txt +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/graphifyy.egg-info/dependency_links.txt +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/graphifyy.egg-info/entry_points.txt +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/graphifyy.egg-info/requires.txt +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/graphifyy.egg-info/top_level.txt +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/setup.cfg +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/tests/test_analyze.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/tests/test_benchmark.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/tests/test_build.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/tests/test_cache.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/tests/test_claude_md.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/tests/test_cluster.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/tests/test_confidence.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/tests/test_detect.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/tests/test_export.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/tests/test_extract.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/tests/test_hooks.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/tests/test_hypergraph.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/tests/test_ingest.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/tests/test_install.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/tests/test_languages.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/tests/test_multilang.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/tests/test_pipeline.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/tests/test_rationale.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/tests/test_report.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/tests/test_security.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/tests/test_semantic_similarity.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/tests/test_serve.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/tests/test_validate.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/tests/test_watch.py +0 -0
- {graphifyy-0.3.3 → graphifyy-0.3.4}/tests/test_wiki.py +0 -0
|
@@ -87,15 +87,15 @@ def install(platform: str = "claude") -> None:
|
|
|
87
87
|
# Register in ~/.claude/CLAUDE.md (Claude Code only)
|
|
88
88
|
claude_md = Path.home() / ".claude" / "CLAUDE.md"
|
|
89
89
|
if claude_md.exists():
|
|
90
|
-
content = claude_md.read_text()
|
|
90
|
+
content = claude_md.read_text(encoding="utf-8")
|
|
91
91
|
if "graphify" in content:
|
|
92
92
|
print(f" CLAUDE.md → already registered (no change)")
|
|
93
93
|
else:
|
|
94
|
-
claude_md.write_text(content.rstrip() + _SKILL_REGISTRATION)
|
|
94
|
+
claude_md.write_text(content.rstrip() + _SKILL_REGISTRATION, encoding="utf-8")
|
|
95
95
|
print(f" CLAUDE.md → skill registered in {claude_md}")
|
|
96
96
|
else:
|
|
97
97
|
claude_md.parent.mkdir(parents=True, exist_ok=True)
|
|
98
|
-
claude_md.write_text(_SKILL_REGISTRATION.lstrip())
|
|
98
|
+
claude_md.write_text(_SKILL_REGISTRATION.lstrip(), encoding="utf-8")
|
|
99
99
|
print(f" CLAUDE.md → created at {claude_md}")
|
|
100
100
|
|
|
101
101
|
print()
|
|
@@ -139,7 +139,7 @@ def _agents_install(project_dir: Path, platform: str) -> None:
|
|
|
139
139
|
target = (project_dir or Path(".")) / "AGENTS.md"
|
|
140
140
|
|
|
141
141
|
if target.exists():
|
|
142
|
-
content = target.read_text()
|
|
142
|
+
content = target.read_text(encoding="utf-8")
|
|
143
143
|
if _AGENTS_MD_MARKER in content:
|
|
144
144
|
print(f"graphify already configured in AGENTS.md")
|
|
145
145
|
return
|
|
@@ -147,7 +147,7 @@ def _agents_install(project_dir: Path, platform: str) -> None:
|
|
|
147
147
|
else:
|
|
148
148
|
new_content = _AGENTS_MD_SECTION
|
|
149
149
|
|
|
150
|
-
target.write_text(new_content)
|
|
150
|
+
target.write_text(new_content, encoding="utf-8")
|
|
151
151
|
print(f"graphify section written to {target.resolve()}")
|
|
152
152
|
print()
|
|
153
153
|
print(f"{platform.capitalize()} will now check the knowledge graph before answering")
|
|
@@ -165,7 +165,7 @@ def _agents_uninstall(project_dir: Path) -> None:
|
|
|
165
165
|
print("No AGENTS.md found in current directory - nothing to do")
|
|
166
166
|
return
|
|
167
167
|
|
|
168
|
-
content = target.read_text()
|
|
168
|
+
content = target.read_text(encoding="utf-8")
|
|
169
169
|
if _AGENTS_MD_MARKER not in content:
|
|
170
170
|
print("graphify section not found in AGENTS.md - nothing to do")
|
|
171
171
|
return
|
|
@@ -177,7 +177,7 @@ def _agents_uninstall(project_dir: Path) -> None:
|
|
|
177
177
|
flags=re.DOTALL,
|
|
178
178
|
).rstrip()
|
|
179
179
|
if cleaned:
|
|
180
|
-
target.write_text(cleaned + "\n")
|
|
180
|
+
target.write_text(cleaned + "\n", encoding="utf-8")
|
|
181
181
|
print(f"graphify section removed from {target.resolve()}")
|
|
182
182
|
else:
|
|
183
183
|
target.unlink()
|
|
@@ -189,7 +189,7 @@ def claude_install(project_dir: Path | None = None) -> None:
|
|
|
189
189
|
target = (project_dir or Path(".")) / "CLAUDE.md"
|
|
190
190
|
|
|
191
191
|
if target.exists():
|
|
192
|
-
content = target.read_text()
|
|
192
|
+
content = target.read_text(encoding="utf-8")
|
|
193
193
|
if _CLAUDE_MD_MARKER in content:
|
|
194
194
|
print("graphify already configured in CLAUDE.md")
|
|
195
195
|
return
|
|
@@ -197,7 +197,7 @@ def claude_install(project_dir: Path | None = None) -> None:
|
|
|
197
197
|
else:
|
|
198
198
|
new_content = _CLAUDE_MD_SECTION
|
|
199
199
|
|
|
200
|
-
target.write_text(new_content)
|
|
200
|
+
target.write_text(new_content, encoding="utf-8")
|
|
201
201
|
print(f"graphify section written to {target.resolve()}")
|
|
202
202
|
|
|
203
203
|
# Also write Claude Code PreToolUse hook to .claude/settings.json
|
|
@@ -215,7 +215,7 @@ def _install_claude_hook(project_dir: Path) -> None:
|
|
|
215
215
|
|
|
216
216
|
if settings_path.exists():
|
|
217
217
|
try:
|
|
218
|
-
settings = json.loads(settings_path.read_text())
|
|
218
|
+
settings = json.loads(settings_path.read_text(encoding="utf-8"))
|
|
219
219
|
except json.JSONDecodeError:
|
|
220
220
|
settings = {}
|
|
221
221
|
else:
|
|
@@ -230,7 +230,7 @@ def _install_claude_hook(project_dir: Path) -> None:
|
|
|
230
230
|
return
|
|
231
231
|
|
|
232
232
|
pre_tool.append(_SETTINGS_HOOK)
|
|
233
|
-
settings_path.write_text(json.dumps(settings, indent=2))
|
|
233
|
+
settings_path.write_text(json.dumps(settings, indent=2), encoding="utf-8")
|
|
234
234
|
print(f" .claude/settings.json → PreToolUse hook registered")
|
|
235
235
|
|
|
236
236
|
|
|
@@ -240,7 +240,7 @@ def _uninstall_claude_hook(project_dir: Path) -> None:
|
|
|
240
240
|
if not settings_path.exists():
|
|
241
241
|
return
|
|
242
242
|
try:
|
|
243
|
-
settings = json.loads(settings_path.read_text())
|
|
243
|
+
settings = json.loads(settings_path.read_text(encoding="utf-8"))
|
|
244
244
|
except json.JSONDecodeError:
|
|
245
245
|
return
|
|
246
246
|
pre_tool = settings.get("hooks", {}).get("PreToolUse", [])
|
|
@@ -248,7 +248,7 @@ def _uninstall_claude_hook(project_dir: Path) -> None:
|
|
|
248
248
|
if len(filtered) == len(pre_tool):
|
|
249
249
|
return
|
|
250
250
|
settings["hooks"]["PreToolUse"] = filtered
|
|
251
|
-
settings_path.write_text(json.dumps(settings, indent=2))
|
|
251
|
+
settings_path.write_text(json.dumps(settings, indent=2), encoding="utf-8")
|
|
252
252
|
print(f" .claude/settings.json → PreToolUse hook removed")
|
|
253
253
|
|
|
254
254
|
|
|
@@ -260,7 +260,7 @@ def claude_uninstall(project_dir: Path | None = None) -> None:
|
|
|
260
260
|
print("No CLAUDE.md found in current directory - nothing to do")
|
|
261
261
|
return
|
|
262
262
|
|
|
263
|
-
content = target.read_text()
|
|
263
|
+
content = target.read_text(encoding="utf-8")
|
|
264
264
|
if _CLAUDE_MD_MARKER not in content:
|
|
265
265
|
print("graphify section not found in CLAUDE.md - nothing to do")
|
|
266
266
|
return
|
|
@@ -273,7 +273,7 @@ def claude_uninstall(project_dir: Path | None = None) -> None:
|
|
|
273
273
|
flags=re.DOTALL,
|
|
274
274
|
).rstrip()
|
|
275
275
|
if cleaned:
|
|
276
|
-
target.write_text(cleaned + "\n")
|
|
276
|
+
target.write_text(cleaned + "\n", encoding="utf-8")
|
|
277
277
|
print(f"graphify section removed from {target.resolve()}")
|
|
278
278
|
else:
|
|
279
279
|
target.unlink()
|
|
@@ -360,7 +360,7 @@ def main() -> None:
|
|
|
360
360
|
detect_path = Path(".graphify_detect.json")
|
|
361
361
|
if detect_path.exists():
|
|
362
362
|
try:
|
|
363
|
-
detect_data = json.loads(detect_path.read_text())
|
|
363
|
+
detect_data = json.loads(detect_path.read_text(encoding="utf-8"))
|
|
364
364
|
corpus_words = detect_data.get("total_words")
|
|
365
365
|
except Exception:
|
|
366
366
|
pass
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "graphifyy"
|
|
7
|
-
version = "0.3.
|
|
7
|
+
version = "0.3.4"
|
|
8
8
|
description = "AI coding assistant skill (Claude Code, Codex, OpenCode, OpenClaw) - turn any folder of code, docs, papers, or images into a queryable knowledge graph"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = { file = "LICENSE" }
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|