[build-system] requires = ["setuptools>=68", "wheel"] build-backend = "setuptools.build_meta" [project] name = "wikimoth" version = "0.2.3" description = "Deterministic, token-minimal, reproducible memory for Claude and agents: wikilink-graph retrieval, then compaction, then a Claude reader." readme = "README.md" requires-python = ">=3.10" license = { text = "Apache-2.0" } authors = [{ name = "Julian Geymonat" }] keywords = ["rag", "memory", "agents", "claude", "wikilinks", "multi-hop", "deterministic"] classifiers = [ "Programming Language :: Python :: 3", "License :: OSI Approved :: Apache Software License", "Intended Audience :: Developers", "Topic :: Scientific/Engineering :: Artificial Intelligence", ] # Core WikiMoth is PURE STDLIB — retrieval (GraphRetriever), chunking, the # wikilink graph, the pipeline and capture are all vendored in wikimoth/retrieval/ # (Julian's own Apache-2.0 code). No hard runtime dependency; everything below # is opt-in via extras and import-guarded. dependencies = [] [project.optional-dependencies] # Optional BM25-seeded HybridRetriever: an alternative seeding for the graph # traversal. The pure-stdlib graph default needs no extra dependency. hybrid = ["rank_bm25"] # Dense (semantic) baseline used in the benchmark comparison. dense = ["transformers", "torch", "numpy"] # Real Claude reader (otherwise EchoReader, the API-free default, is used). claude = ["anthropic"] # Most representative token counting (else a len//4 estimate is used). tokens = ["tiktoken"] # Reversible CCR compaction (chopratejas/headroom, Apache-2.0); import-guarded. headroom = ["headroom"] dev = ["pytest>=7", "rank_bm25"] [project.scripts] # `wikimoth install` wires the capture hooks into Claude Code's settings.json # (the pip-native equivalent of `npx install`). wikimoth = "wikimoth.cli:main" [project.urls] Homepage = "https://github.com/juliangeymonat-jpg/wikimoth" [tool.setuptools.packages.find] include = ["wikimoth*"] [tool.setuptools.package-data] # Ship the bundled demo vault (`wikimoth demo`) inside the wheel. wikimoth = ["data/demo_vault/*.md"] [tool.pytest.ini_options] testpaths = ["tests"]