pg-jev
★ 1.2k▲ 24realZachi/pg-jev
PostgreSQL extension to filter, rank, and classify rows with plain-language conditions.
A psql-shaped CLI and Go/TypeScript/Python SDKs that add jev(), jev_prob, jev_choice, and jev_score to queries against a vanilla Postgres with no extension. The SQL runs on the server and Jev judges the surviving rows in batches.
Hands-on review
Rewrites jev() calls out of your SQL, judges the rows outside the database, and puts the answers back. Vanilla Postgres, no extension to install.
Good for
Watch out for
Tested Sep 20, 2026 at 274532af852e · Go 1.25 in Docker, offline; its full test suite across nine packages
How we reviewed this: we ran its Go test suite in Docker offline — nine packages, all green. We made no Jev calls.
jevQL, by Kyle McLaren, gives you jev(), jev_prob() and friends in ordinary SQL:
SELECT name, city, jev_prob(people, 'could work from home') AS p
FROM people
WHERE jev(people, 'could work from home')
ORDER BY p DESC;
The trick is that the database never sees those functions. jevQL parses the statement, lifts the jev_* calls out, runs the remaining SQL, judges the returned rows in batches, and applies the predicate afterwards. So it works against managed Postgres where you can’t install an extension — the alternative approach taken by pg_typesafe and duckdb-jev.
It ships more surface than its star count suggests: a CLI, an HTTP and MCP node, Go, TypeScript and Python SDKs, a cache, and a rewrite package with its own tests. All nine test packages pass offline.
Rows are sent to TypeSafe in batches, as structured state, with no redaction. That’s the trade for not needing an extension: the judging happens outside the database, so the data goes with it.
There’s also real machinery here — a SQL parser and rewriter — and any bug in that sits between you and your query. The tests are reassuring; the scope isn’t small.
The right answer for managed Postgres, and a tidy implementation: batching by default, a cache, several front ends, and tests covering the parse and rewrite paths rather than just the client.
If you control the server, an in-database extension keeps the rows where they are. If you don’t, this is how to get the same query shape.
For that comparison, see pg_typesafe.
See how it compares with other tools in Best Jev tools, tested hands-on.
Review updated Sep 20, 2026. Numbers quoted from the project are its author's own; we don't publish our own measurements of Jev.
realZachi/pg-jev
PostgreSQL extension to filter, rank, and classify rows with plain-language conditions.
jerryjliu/docjev
Classifies and splits PDF, DOCX and PPTX with Jev and local OCR, asking one typed question per page and per boundary in a single request. Ships the manifest, per-call records and error analysis behind its benchmark.
kyotofin/tax-doc-classifier
Classifies tax-document pages into IRS forms and page kinds with one Jev request per page, driven by a JSON file of form descriptions.
New Jev releases, pricing changes, and the best new projects, once a week. No spam; unsubscribe anytime.
Powered by Buttondown. See our privacy policy.