Metadata-Version: 2.4
Name: mneme-graph
Version: 3.1.0
Summary: Local code knowledge graph for mneme: tree-sitter extraction, atomic GraphStore, confidence-labelled nodes.
Author: Onour Impram
License: Apache-2.0
Keywords: ast,code-graph,knowledge-graph,mneme,tree-sitter
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.11
Requires-Dist: mneme-core<4,>=3.0.0
Requires-Dist: tree-sitter-javascript>=0.21
Requires-Dist: tree-sitter-python>=0.21
Requires-Dist: tree-sitter-typescript>=0.21
Requires-Dist: tree-sitter>=0.21
Provides-Extra: dev
Requires-Dist: mypy>=1.10; extra == 'dev'
Requires-Dist: pytest-cov>=5.0; extra == 'dev'
Requires-Dist: pytest>=8.2; extra == 'dev'
Requires-Dist: ruff>=0.4.7; extra == 'dev'
Description-Content-Type: text/markdown

# mneme-graph

Local code knowledge graph for mneme. Extracts GraphNode/GraphEdge from Python
source files via tree-sitter. Derived and rebuildable — the ground truth is
always the source files; `graph.json` is a derived artifact.

Part of the [mneme](https://github.com/TheGoatPsy/mneme) memory engine.

## Scope (v1)

This package is deliberately small and honest about its limits.

- **Python only.** Extraction uses tree-sitter for Python source. TypeScript,
  JavaScript, Rust, and other languages are not yet supported.
- **`calls` resolution is heuristic.** A call edge resolves to a local
  function/method by unqualified name within the same vault, with `INFERRED`
  confidence. There is no cross-file binding or precise symbol resolution; a
  call with no local name match points at an `<external>` node (`EXTRACTED`).
- **Derived, never source of truth.** `graph.json` is rebuilt from source on
  every `build`; the source files remain the ground truth.

### Deferred (not implemented yet)

- Community detection / clustering.
- Pull-request impact analysis.
- Entity canonicalization and a merge queue (to avoid ghost-duplicate nodes
  across renames and aliases).
- Multi-language extraction.

These are roadmap items, not present capabilities.
