fingerprints
UPDATE 2025-05: the next generation of the fingerprints codebase is now included in rigour. See the documentation here: https://opensanctions.github.io/rigour/names/. This library is now UNMAINTAINED.
This library helps with the generation of fingerprints for entity data. A fingerprint in this context is understood as a simplified entity identifier, derived from it's name or address and used for cross-referencing of entity across different datasets.
Usage
import fingerprints
fp = fingerprints.generate('Mr. Sherlock Holmes')
assert fp == 'holmes sherlock'
fp = fingerprints.generate('Siemens Aktiengesellschaft')
assert fp == 'ag siemens'
fp = fingerprints.generate('New York, New York')
assert fp == 'new york'
Company type names
A significant part of what fingerprints does it to recognize company legal form
names. For example, fingerprints will be able to simplify Общество с ограниченной ответственностью to ООО, or Aktiengesellschaft to AG. The required database
is based on two different sources:
- A Google Spreadsheet created by OCCRP.
- The ISO 20275: Entity Legal Forms Code List
Wikipedia also maintains an index of types of business entity.
See also
- Clustering in Depth, part of the OpenRefine documentation discussing how to create collisions in data clustering.
- probablepeople, parser for western names made by the brilliant folks at datamade.us.
- The study Developing a Legal Form Classification and Extraction Approach For Company Entity Matching by Kruse et al. (2021) investigates four approaches for identifying and classifying legal forms in company names.
- List of Legal Forms from AnaCredit dataset by ECB (one of the Annexes).
- Transformer-based Entity Legal Form Classification by Arimond et al. (2023).
Release files for fingerprints 1.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fingerprints-1.3.1-py3-none-any.whl | Python 3 | none | any | Details |
Release files / fingerprints-1.3.1-py3-none-any.whl
| Download URL | fingerprints-1.3.1-py3-none-any.whl |
|---|---|
| Size | 25.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
eb246a3e2730689a494f1239a8418e8df98419bb4c2bfed25925f2c624b523c0
|
|
BLAKE2b-256 checksum How to use checksums |
ff298998d631aae6b9940af9248fbb9d269491785055d6f1763f224af0e6cc02
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
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 Aug 1, 2025.
Transparency log