Skip to content

v0.0.11

Choose a tag to compare

@ClayGendron ClayGendron released this 02 Apr 21:14
· 79 commits to main since this release

What's Changed

Added

  • v2 rewrite — Complete rewrite around the "everything is a file" philosophy. New unified grover_objects table replaces four separate tables. All entities are path-addressable with dot-prefixed metadata directories (.chunks/, .versions/, .connections/).
  • GroverFileSystem base 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.
  • EmbeddingProvider and VectorStore protocols — Pluggable embedding and vector search.
  • User-scoped filesystem — Per-user path-prefix isolation via user_scoped=True.
  • GroverAsync and Grover facades — Async facade for app servers, sync wrapper for scripts. raise_on_error with classified exception hierarchy.
  • Composable result typesGroverResult with 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: ignore inline comments.

Full Changelog: v0.0.10...v0.0.11