Python Record Linkage Toolkit
recordlinkage.readthedocs.io
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
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
- Data Deduplication Software#17 of 277.9