- Add GitHub Actions CI workflow (Python 3.10 and 3.12) - Add CI badge to README - Add ARCHITECTURE.md: pipeline overview, module table, schema, how to add a language extractor, security summary - Move eval reports from tests/ to worked/httpx/ and worked/mixed-corpus/ - Fix README: test count 163→212, language table (13 languages via tree-sitter), extract.py description, worked examples links benchmark: 8.8x token reduction on nanoGPT + minGPT + micrograd - Run AST extraction on 29 Python files across 3 Karpathy repos - 177 nodes, 246 edges, 17 communities (Leiden) - 8.8x avg token reduction vs naive full-corpus context stuffing - Notable: micrograd cleanly splits into engine/nn communities; nanoGPT model vs training loop correctly separated - Honest: stdlib import noise flagged, config isolates documented benchmark: 71.5x token reduction on mixed corpus (code+papers+images) Full run: nanoGPT+minGPT+micrograd + 5 research papers + 4 images 285 nodes, 340 edges, 53 communities Average BFS query: 1,726 tokens vs 123,488 naive (71.5x) Code-only (AST) sub-benchmark: 8.8x on 13k-word corpus
54 lines
1.4 KiB
TOML
54 lines
1.4 KiB
TOML
[build-system]
|
|
requires = ["setuptools>=68"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "graphifyy"
|
|
version = "0.1.3"
|
|
description = "Claude Code skill — turn any folder of code, docs, papers, images, or tweets into a queryable knowledge graph"
|
|
readme = "README.md"
|
|
license = { text = "MIT" }
|
|
keywords = ["claude", "claude-code", "knowledge-graph", "rag", "graphrag", "obsidian", "community-detection", "tree-sitter", "leiden", "llm"]
|
|
requires-python = ">=3.10"
|
|
dependencies = [
|
|
"networkx",
|
|
"graspologic",
|
|
"pyvis",
|
|
"tree-sitter",
|
|
"tree-sitter-python",
|
|
"tree-sitter-javascript",
|
|
"tree-sitter-typescript",
|
|
"tree-sitter-go",
|
|
"tree-sitter-rust",
|
|
"tree-sitter-java",
|
|
"tree-sitter-c",
|
|
"tree-sitter-cpp",
|
|
"tree-sitter-ruby",
|
|
"tree-sitter-c-sharp",
|
|
"tree-sitter-kotlin",
|
|
"tree-sitter-scala",
|
|
"tree-sitter-php",
|
|
]
|
|
|
|
[project.urls]
|
|
Homepage = "https://github.com/safishamsi/graphify"
|
|
Repository = "https://github.com/safishamsi/graphify"
|
|
Issues = "https://github.com/safishamsi/graphify/issues"
|
|
|
|
[project.optional-dependencies]
|
|
mcp = ["mcp"]
|
|
neo4j = ["neo4j"]
|
|
pdf = ["pypdf", "html2text"]
|
|
watch = ["watchdog"]
|
|
all = ["mcp", "neo4j", "pypdf", "html2text", "watchdog"]
|
|
|
|
[project.scripts]
|
|
graphify = "graphify.__main__:main"
|
|
|
|
[tool.setuptools.packages.find]
|
|
where = ["."]
|
|
include = ["graphify*"]
|
|
|
|
[tool.setuptools.package-data]
|
|
graphify = ["skill.md"]
|