fingerprints
A library to generate entity fingerprints.
What it is and what it does
Fingerprints is a library for generating normalized entity identifiers from names and addresses, designed to help match the same entity across different data sources. It takes messy input like 'Mr. Sherlock Holmes' or 'Siemens Aktiengesellschaft' and produces a canonical simplified form ('holmes sherlock', 'ag siemens') suitable for deduplication and cross-referencing. The library includes a database of company legal forms drawn from OCCRP, ISO 20275, and other sources, allowing it to recognize and standardize abbreviations like 'AG' for Aktiengesellschaft or 'ООО' for Russian limited liability companies.
The package depends on normality for text processing and installs as a pure Python wheel with low friction. However, as of May 2025, fingerprints is unmaintained—the codebase has been superseded by rigour, which incorporates the next generation of this functionality. The repository remains available and the latest release is from August 2025, but no further development is planned.
Use it for:
- Deduplicating entity records in compliance or sanctions databases by generating fingerprints for matching.
- Normalizing company names across multiple data sources to identify the same legal entity.
- Extracting and standardizing company legal forms from unstructured text for entity classification.
- Building entity resolution pipelines where fingerprints serve as a first-pass matching key.
- Preprocessing name data for downstream clustering or similarity matching algorithms.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Generates simplified entity identifiers (fingerprints) from names and addresses for matching entities across different datasets, with built-in recognition of company legal forms.
Yes, but with conditions. Install if you need entity fingerprinting now and can tolerate an unmaintained library; the code is stable and has no known vulnerabilities. However, for new projects, evaluate rigour first—it is the maintained successor and likely has improvements. The low install friction and permissive MIT license make this a low-risk addition, but plan a migration path if long-term support matters.
Install
fingerprints on PyPI
pip
pip install fingerprintsuv
uv add fingerprintspoetry
poetry add fingerprintsInstalling fingerprints
Before you install
Low friction: pure Python wheel with a single runtime dependency (normality). However, the package is now unmaintained as of 2025-05; active development has moved to rigour. The repository is not archived, but no new releases are planned.
License in practice
MIT license (permissive): you may use, modify, and distribute the package freely with minimal restrictions, provided you retain the copyright notice and license text.
Quickstart
pip install fingerprints
import fingerprints
fp = fingerprints.generate('Mr. Sherlock Holmes')
print(fp) # 'holmes sherlock'
Requires Python 3.10 or later.
Verify before relying
- Whether fingerprints will be maintained or if users should migrate to rigour immediately.
- Performance characteristics on large entity datasets or real-world matching tasks.
- How well the company legal form database covers non-English or emerging markets.
Package facts
| License | The MIT License (MIT) Copyright (c) 2025 OpenSanctions Datenbanken GmbH Copyright (c) 2018 Journalism Development Network, Inc. Copyright (c) 2016 Friedrich Lindenberg Permission is hereby granted,… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — normality |
| Maintenance | aging — 378 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 227,342/month — #9,182 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: fingerprints-1.3.1-py3-none-any.whl
Tags
More Text Processing packages
A drop-in replacement for Python's standard…
permissive · top 100 on PyPI
pyparsingpyparsing provides a library for building text…
permissive · top 1,000 on PyPI
docutilsDocutils converts plaintext documentation in…
unclear · top 1,000 on PyPI
RapidFuzzRapidFuzz provides fast fuzzy string matching…
permissive · top 1,000 on PyPI
tinycss2tinycss2 parses CSS strings into token and…
permissive · top 1,000 on PyPI
llama-parseLlamaParse parses complex documents (PDFs,…
permissive · top 1,000 on PyPI
cleancoCleanco strips legal suffixes (Ltd, Corp, LLC,…
permissive · top 5,000 on PyPI
rigourRigour provides data cleaning and validation…
permissive · top 15,000 on PyPI
probablepeopleParses unstructured person and company names…
permissive · top 15,000 on PyPI
apify-fingerprint-datapointsProvides a dataset of browser fingerprint…
permissive · top 5,000 on PyPI
simhashComputes Simhash fingerprints for text and…
permissive · top 15,000 on PyPI
courts-dbProvides a searchable database of current and…
permissive · top 15,000 on PyPI
prolifProLIF generates interaction fingerprints from…
permissive · top 15,000 on PyPI
recognizers-text-numberRecognizes and extracts numeric entities…
permissive · top 15,000 on PyPI
splinkSplink performs probabilistic record linkage…
permissive · top 5,000 on PyPI
aimsim-coreProvides core molecular featurization and…
permissive · top 15,000 on PyPI