Crate of the Week

I would like to self-suggest a new crate of mine, called venndb. It is an append-only memory DB that you can make from any named-field script with a simple derive macro. Its primary use case is for high-intensive workloads where you typically have static data (read: write all at once at start of process) from which you query data all the time, using binary (read boolean) filters for the most part.

Crate can be found at: Rust Package Registry

Docs can be found at: venndb - Rust

Usage example:

use venndb::VennDB

#[derive(Debug, VennDB)]
pub struct Employee {
    id: u32,
    name: String,
    is_manager: bool,
    is_admin: bool,
    foo: bool,
    department: Department,

fn main() {
    let db = EmployeeDB::from_iter(/* .. */);

    let mut query = db.query();
    let employee = query
        .expect("to have found at least one")

    println!("non-manager admin engineer: {:?}", employee);

We use it in production ourselves already, but now that the first release is out on, I would love to have feedback from other users, as they might come up with use cases or problems we didn't consider yet ourselves.

Thanks in advance and take care.