Changelog¶
All notable changes to this project are documented here. The format follows Keep a Changelog; versions follow SemVer.
[0.1.3] — 2026-10-21¶
Changed¶
- The README is the package description again, with the inspector demo and benchmark chart included.
[0.1.2] — 2026-10-21¶
Changed¶
- Temporarily used a description without repository-hosted images.
[0.1.1] — 2026-10-21¶
Fixed¶
- A docstring in the hashing embedder contained an unescaped regular-expression sequence, which raised a
SyntaxWarningon import under Python 3.12 and later.
[0.1.0] — 2026-10-21¶
Added¶
- Poincaré ball geometry with curvature (
distance,distance_arcosh, exp/log maps, Möbius operations, Lorentz conversions, dot-product trick for ANN indexes), float32/float64. Memory: hierarchy-aware, time-aware store with structural search modes (subtree,children,ancestors,siblings,cone), named temporal policies, SQLite persistence.- Visual inspection: self-contained interactive HTML (disk, table, tree), matplotlib plot, Jupyter rendering, ASCII tree, DataFrame export.
- Sarkar's training-free tree layout (2-D exact, n-D spread) with a float64 depth safety check; Riemannian SGD Poincaré embeddings and a Euclidean baseline; reconstruction MAP / mean rank.
- Offline hashing embedder, Sentence-Transformers wrapper, callable adapter.
- Inspector layouts:
structural(radial tree at true hyperbolic depths, default when parents exist) andprojection(semantic directions);DecayPolicyexported at package level. - WordNet mammals benchmark results recorded with raw JSON and a chart; README demo GIF.
- Production hardening:
add_many(one embedding call),update,to_json/from_json,stats,__repr__, input validation, module logging, a re-entrant lock around all mutating and searching calls, andbuild_indexwith NumPy or FAISS ([ann]extra) backends for indexed shell-metric search;SearchResult.to_dict; CLIstats,export,import. - Documentation site (mkdocs-material): getting started, concepts, eight guides, API reference, FAQ; every Python block in the docs is executed in CI by
scripts/check_docs_examples.py. - The hashing embedder now keys BLAKE2b with the seed (instead of salting), so the TypeScript port in the explainer produces identical vectors.
- CLI (
demo,inspect,tree,search), WordNet reconstruction benchmark, documentation.