mi-chainlink
A powerful, flexible framework for entity resolution and record linkage using DuckDB as the database engine built upon the work of Who Owns Chicago by the Mansueto Institute for Urban Innovation including the work of Kevin Bryson, Ana (Anita) Restrepo Lachman, Caitlin P., Joaquin Pinto, and Divij Sinha.
This package enables you to load data from various sources, clean and standardize entity names and addresses, and create links between entities based on exact and fuzzy matching techniques.
Source: https://github.com/mansueto-institute/mi-chainlink
Documentation: https://mansueto-institute.github.io/mi-chainlink/
Issues: https://github.com/mansueto-institute/mi-chainlink/issues
Overview
This framework helps you solve the entity resolution problem by:
- Loading data from multiple sources into a DuckDB database
- Cleaning and standardizing entity names and addresses
- Creating exact matches between entities based on names and addresses
- Generating fuzzy matches using TF-IDF similarity
- Exporting the resulting linked data for further analysis
The system is designed to be configurable through YAML files and supports incremental updates to an existing database.
Installation
Package is available on PyPI. You can install it using pip or uv:
pip install mi-chainlink
uv add mi-chainlink
Usage
Command Line Interface
# Run interactive session
chainlink
# Run with path to config yaml
chainlink path/to/config.yaml
Python Interface
from chainlink import chainlink
chainlink(
config: dict, ## dict with config details
config_path: str | Path = DIR / "configs/config.yaml", ## path to store dict post processing
)
Metadata
Release files for mi-chainlink 0.0.11
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| mi_chainlink-0.0.11.tar.gz | 46.1 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mi_chainlink-0.0.11-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 87.2 kB
Release files / mi_chainlink-0.0.11.tar.gz
| Download URL | mi_chainlink-0.0.11.tar.gz |
|---|---|
| Size | 46.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2ca822bc7ffe99e90ff79dd7d580241a8d226c9cf17c0a1f705a411769646c0b
|
|
BLAKE2b-256 checksum How to use checksums |
098392efecb52aa9a3f6c762c1a19810488105580b98e00d0c0e6d25b1f9c50c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 23, 2026.
Transparency logRelease files / mi_chainlink-0.0.11-py3-none-any.whl
| Download URL | mi_chainlink-0.0.11-py3-none-any.whl |
|---|---|
| Size | 41.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b3efd274baaf64e972eccda765e5cc6cd6980c1a07eda3afa13f3689e050aff9
|
|
BLAKE2b-256 checksum How to use checksums |
03495765c8c0817a93ded17b2164d67d05f219becde8a5adceaf4f110cb1f328
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 23, 2026.
Transparency logSecurity for mi-chainlink 0.0.11
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for mi_chainlink-0.0.11.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Mar 23, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.