Skip to content

A DuckDB extension for row classification

DuckDB extension that labels rows in CSV, Parquet or DuckDB tables with Jev, reported at about ten seconds per thousand rows.

Discussionprototype

This summary is based on how curated lists describe the project; its README was not available to review.

Overview

An X post by Hamilton Ulmer describing a DuckDB extension that classifies rows in any CSV, Parquet or DuckDB table using Jev from SQL.

The post reports about ten seconds for a thousand rows and says the ergonomics beat building a bespoke classifier. It suits analysts who want to tag or clean data without leaving their query tool.

What the decision model decides

TypeQuestionAnswers
ChoiceWhich label fits this row?(inferred)—

How it works

  1. Load a table in DuckDB
  2. Call the extension's classify function in SQL
  3. Jev returns a label per row
  4. Use labels in further queries

Strengths

  • Classification stays inside SQL
  • Reported ~10 s per 1,000 rows

Caveats

  • Known only from a social post; repository not linked in the listing
  • Requires TypeSafe access

At a glance

Type
Discussion
Status
prototype
Runtime
DuckDB extension

Use cases and integrations

How curated lists describe it

  • X: classifies rows in any CSV, Parquet, or DuckDB table with Jev, reporting about ten seconds for a thousand rows and better ergonomics than a bespoke classifier.

    yibie/awesome-jev
  • DuckDB extension that classifies rows in CSV, Parquet, or DuckDB tables with Jev, about 10 seconds per 1,000 rows.

    hellogumbo/awesome-jev

Frequently asked questions

What does it do?

Lets you classify table rows with Jev from DuckDB SQL.

How fast is it?

The post reports about ten seconds per thousand rows.

Where is it described?

https://x.com/hamiltonulmer/status/2100370557405667768

Related projects

  • dbt package whose macros run Jev Choice, Noul and Score over SQL values in DuckDB and ClickHouse models.

    ProjectbetaSQL (Jinja)
  • DuckDB extension that asks Jev about every row in SQL and returns answers as ENUM, DOUBLE or STRUCT columns.

    PluginbetaC++
  • dbt package and Terraform module adding jev_noul, jev_choice, jev_score and jev_ask SQL functions to Snowflake.

    LibrarybetaSQL
  • PostgreSQL extension with jev(), jev_prob, jev_choice and jev_score to filter, rank and classify rows by plain-language conditions.

    PluginbetaC
  • CLI that scans tabular, structured and text files or databases and asks Jev which fields look anomalous, building a review queue.

    CLIbetaPython
  • DuckDB extension adding decide_probability, decide_choice and decide_score SQL functions backed by Jev or local open decision models.

    PluginbetaC++