Skip to content

Jev directory

Jlink

A record-linkage library and CLI where the match rule is written in plain English: Jev answers pair questions with a probability, with local candidate blocking and match resolution.
Stars
7
Language
Python
License
MIT
Reading time
3 min
Published by
Community
Author
keltokhy
Last verified
Sep 2026

About this project

Record linkage where you write the match rule in plain English.

Quoted from the project's README. Read the full README.

Highlights

  • Every candidate pair gets a probability, so you can set a threshold, require a margin over the runner-up, or carry the uncertainty into estimation.
  • In its benchmarks 146,119 candidate pairs cost $2.49 in total at about 250 pairs a second, with each judgment taking roughly a fifth of a second.
  • It draws a stratified sample for hand-labelling and turns the labels into precision, recall, and a calibration table with confidence intervals.
  • Works from Python, the command line, Stata, and R on .csv, .dta, and .parquet, and every probability is stored so reruns cost nothing.
  • Only the fields listed in on leave your machine; blocking runs locally, and --api laya or diffusiongemma keeps everything on a local server.

Quickstart

python
import jlink

result = jlink.link(
    compustat, patents,
    entity="firm",
    on=[("conm", "assignee"), "state"],
    definition="A parent company and its subsidiary are different firms. "
               "A firm that changed its legal form (Inc. to LLC) is the same firm.",
    left_id="gvkey", right_id="assignee_id",
)
print(result.report())

Watch out

MIT-licensed with benchmark datasets keeping their own terms; needs uv and a TypeSafe or OpenRouter key, sends the listed fields for each candidate pair to that API, and restricted-use data needs local servers and documented approval.

Questions about this entry

Short answers drawn from the linked project or page.

From the Jev guides

Original write-ups on what this entry is for.

From the Jev AI model community

Posts from builders shipping with Jev right now.

Follow @typesafeai