Skip to content
SPECIFICTION
Get listed

Python Record Linkage Toolkit

recordlinkage.readthedocs.io

Free plan LinuxSelf-hosted

What it is

Python Record Linkage Toolkit is a free Python library for linking records across data sources and finding duplicates within one source. It is intended for research involving small or medium-sized files. Its workflow covers cleaning and standardizing data, generating candidate pairs, comparing records, classifying matches, and evaluating results. Cleaning tools include string standardization and phonetic encoding. Blocking and sorted neighbourhood indexing create candidate pairs. Comparisons cover strings, numbers, dates, and geographic data, with string methods including Jaro, Jaro-Winkler, Levenshtein, Damerau-Levenshtein, q-gram, and cosine similarity. Supervised and unsupervised classifiers include logistic regression, Naive Bayes, and support vector machines. Evaluation tools and built-in datasets are included. Users can add indexing algorithms, comparison measures, similarity measures, and classifiers. The toolkit uses pandas and NumPy and can fit existing pandas workflows. It is self-hosted, offers fuzzy matching and API access, and installs with pip or from GitHub. The stable documentation requires Python 3.6 or higher. The repository identifies a BSD-3-Clause license. Full indexing can become slow on large DataFrames because comparisons grow quadratically.

Spec sheet

Purpose
The library links records within or between data sources and supports deduplication.Read 9 Oct 2026 · recordlinkage.readthedocs.io
Integrations
The toolkit uses pandas DataFrames and the documentation says pandas can integrate record linkage into existing data manipulation projects.Read 9 Oct 2026 · recordlinkage.readthedocs.io
Support
The project repository directs users with questions to contact the maintainer by email.Read 4 Oct 2026 · github.com
License
The project repository identifies its license as BSD-3-Clause.Read 9 Oct 2026 · github.com
Candidate generation
Indexing methods include full indexing, blocking, sorted neighbourhood, and random pair generation.Read 9 Oct 2026 · recordlinkage.readthedocs.io
Classification
It includes supervised and unsupervised classification algorithms.Read 4 Oct 2026 · recordlinkage.readthedocs.io
Classifiers
The toolkit provides supervised and unsupervised classifiers, including logistic regression, Naive Bayes, and support vector machines.Read 9 Oct 2026 · recordlinkage.readthedocs.io
Comparison methods
Comparison features include exact, string, numeric, geographic, and date comparisons.Read 9 Oct 2026 · recordlinkage.readthedocs.io
Data cleaning
Preprocessing includes tools for cleaning and standardizing data, including string cleaning and phonetic encoding.Read 9 Oct 2026 · recordlinkage.readthedocs.io
Data preparation
It provides tools to clean and standardize data, including phonetic encoding.Read 4 Oct 2026 · recordlinkage.readthedocs.io
Dependencies
Required packages listed are numpy, pandas, scipy, scikit-learn, jellyfish, and joblib; networkx is optional for graph operations.Read 9 Oct 2026 · recordlinkage.readthedocs.io
Evaluation
Evaluation utilities include accuracy, recall, F-score, confusion-matrix counts, and reduction ratio.Read 9 Oct 2026 · recordlinkage.readthedocs.io
Extensibility
Users can add their own indexing algorithms, comparison measures, and classifiers.Read 9 Oct 2026 · recordlinkage.readthedocs.io
Install
The package can be installed with pip or cloned from GitHub; the stable installation page says it requires Python 3.6 or higher.Read 4 Oct 2026 · recordlinkage.readthedocs.io
Installation
The documentation describes installing with pip and requires Python 3.6 or higher.Read 9 Oct 2026 · recordlinkage.readthedocs.io
Intended use
The project is developed for research and linking small or medium sized files.Read 9 Oct 2026 · recordlinkage.readthedocs.io
Performance limitation
Full indexing can be slow on large DataFrames because the number of comparisons scales quadratically.Read 9 Oct 2026 · recordlinkage.readthedocs.io
Record comparison
It compares strings, numbers, and dates using comparison and similarity measures.Read 4 Oct 2026 · recordlinkage.readthedocs.io
Scale limit
The project describes its intended workload as small or medium sized files; full indexing can be slow on large dataframes because comparisons scale quadratically.Read 4 Oct 2026 · recordlinkage.readthedocs.io
String similarity
String comparisons support Jaro, Jaro-Winkler, Levenshtein, Damerau-Levenshtein, q-gram, and cosine methods.Read 9 Oct 2026 · recordlinkage.readthedocs.io
Workflow
Its record linkage workflow covers cleaning, indexing, comparing, classifying, and evaluation.Read 9 Oct 2026 · recordlinkage.readthedocs.io

Plans and prices

Python Record Linkage Toolkit Free research use · small or medium sized files Read 9 Oct 2026 · recordlinkage.readthedocs.io

Every Python Record Linkage Toolkit plan and price →

Strong points and limits

Strong points

  • Free Python library
  • Cleaning and phonetic-encoding tools
  • Multiple candidate-generation methods
  • Supervised and unsupervised classifiers
  • Extensible comparison and indexing methods

Limits

  • Intended for small or medium-sized files
  • Full indexing can slow on large DataFrames
  • Requires Python 3.6 or higher

Who it suits

It suits researchers and developers linking small or medium-sized datasets, especially pandas users needing configurable matching and classification workflows.

Verdict

This toolkit covers the full record-linkage workflow, from preparation through evaluation, with fuzzy comparisons and configurable classifiers. Its documented scale target is small or medium-sized files, and large-data indexing can be slow.

Where Specifiction places it

Alternatives to Python Record Linkage ToolkitAll alternatives →