v0.0.11
What's Changed
Added
- v2 rewrite — Complete rewrite around the "everything is a file" philosophy. New unified
grover_objectstable replaces four separate tables. All entities are path-addressable with dot-prefixed metadata directories (.chunks/,.versions/,.connections/). GroverFileSystembase class — Concrete async base class with mount routing, session management, and path rebasing.DatabaseFileSystem— Full SQL-backed implementation with CRUD, glob, grep, tree, versioning, soft-delete, cascading operations, and LIKE wildcard escaping.- CLI query engine — Unix-like pipeline syntax (
|,&,intersect(),except()). Commands for CRUD, navigation, search, graph traversal, and ranking. - Graph algorithms — 10 algorithms on
RustworkxGraph: ancestors, descendants, neighborhood, meeting subgraph, PageRank, betweenness/closeness/degree centrality, HITS. - BM25 lexical search — Hand-rolled BM25 scorer with SQL-hybrid pipeline. No external dependencies.
EmbeddingProviderandVectorStoreprotocols — Pluggable embedding and vector search.- User-scoped filesystem — Per-user path-prefix isolation via
user_scoped=True. GroverAsyncandGroverfacades — Async facade for app servers, sync wrapper for scripts.raise_on_errorwith classified exception hierarchy.- Composable result types —
GroverResultwith set algebra (&,|,-) and enrichment chains (sort,top,filter,kinds).
Changed
- README rewritten — Code-first examples, design principles, API table, and namespace diagram.
- Type checker upgraded — ty 0.0.16 → 0.0.27 with
# ty: ignoreinline comments.
Full Changelog: v0.0.10...v0.0.11