composable-indexes 0.6.1

In-memory collections with composable indexes
Documentation

composable-indexes

Crates.io Docs.rs codecov

A Rust library for collections with flexible and composable in-memory indexes. The indexes stay in sync with the collection without any extra effort.

Features

  • Batteries included - built-in indexes for common use cases.
  • Fast - indexes are backed by performant data structures.
  • Composable - build complex indexes from simple ones with combinators.
  • Extensible - write your own index and aggregations.
  • Safe - Small core, property-based tests, no unsafe.
  • Compact - No runtime dependencies, no_std compatible.

Example

See crates/composable-indexes/examples/session.rs.

Notes

Limitations

  • For performance reasons, we do not use boxing or dynamic dispatch. But this flexibility comes with verbose type signatures.

Future work

  • Fallible operations (ie. conflicts, postconditions) w/transactionality
  • Operations on more than one collection (ie, foreign keys, joins)
  • Sub-documents, better handling of nested data structures