finds.dev← search

// the find

obi1kenobi/trustfall

★ 2,871 · Rust · Apache-2.0 · updated Jul 2026

A query engine for any combination of data sources. Query your files and APIs as if they were databases!

Trustfall is a query engine that lets you write GraphQL-like queries spanning multiple heterogeneous data sources — REST APIs, files on disk, databases — as if they were one unified schema. You implement a trait that maps your data source to the engine's vertex/edge model, and it handles query planning, filtering, and result assembly. The primary production user is cargo-semver-checks, which uses it to query Rust documentation.

The adapter model is genuinely well-designed: you implement resolve_starting_vertices and resolve_neighbors, and the engine figures out the rest including filter pushdown hints so you can optimize without the engine requiring it. Running in WASM with full query execution client-side is unusual and works — the playground demo isn't a toy. The hints system (CandidateValue, VertexInfo) lets adapter authors pre-filter at the data source level without coupling the adapter logic to the query engine internals. Test infrastructure is file-driven and thorough; the fuzz targets cover the frontend and execution path, which matters for a query engine.

Python bindings exist but the getting-started guide is still listed as forthcoming with a tracking issue opened in 2022 — four years later. The query syntax uses RON for parameterized queries in the examples, which is an extra dependency and learning curve nobody asked for when GraphQL variables already exist. Outside cargo-semver-checks there's essentially no production adoption visible, which means the adapter ecosystem is thin and you'll be writing your own adapter for anything practical. The cross-source join story — what happens when joining two sources with very different latency profiles — isn't addressed in the docs at all.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →