OpenViSTAI · Agents · Blockchain · Crypto
Menu
AI Data & Analytics

Hmni

Hmni is an MIT-licensed Python library that applies machine learning to fuzzy name matching. Its documented methods score name pairs, link pandas records, and deduplicate or normalize lists of names.

Independent OpenViST project profile, based on linked sources.

Hmni — OpenViST project profile in AI Data & Analytics.
OpenViST project illustration. See the linked sources for product details.
Understand the project

Practical overview

When it fits

Use Hmni when name variations make exact-match joins or duplicate checks insufficient, especially in workflows comparing records across datasets.

Who it is for

  • Python developers building name-resolution steps into data-cleaning pipelines.
  • Data teams linking records across tables when names may differ in spelling or form.

Documented uses

  • Compare two name strings and obtain a predicted probability or binary match label.
  • Join pandas data frames using fuzzy name matching.
  • Reduce duplicate name variants or replace them with a selected representative form.
Before you choose

Requirements & limits

  • The README lists Python 3.5–3.8 and TensorFlow, scikit-learn, fuzzywuzzy, abydos and unidecode as requirements.
  • The described HMNI-Latin training data is internationally transliterated Latin first names, with precision prioritized.
  • The README reports 0.9255 precision and 0.7548 recall for HMNI-Latin; those reported metrics may inform evaluation for a particular workflow but do not guarantee its results.

Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.

Source-based practical guide

Install Hmni and initialize a Latin matcher

Add the library to a Python environment and create the matcher object shown in the README.

Before you start

  • Python 3.5–3.8
  • TensorFlow, scikit-learn, fuzzywuzzy, abydos and unidecode

Steps

  1. Install the package with pip install hmni.

  2. Import hmni in Python.

  3. Create a matcher with hmni.Matcher(model='latin').

Expected outcome

A Latin-model Matcher object is initialized for the documented matching methods.

Guide limitations

  • This recipe covers installation and initialization only; it does not verify successful execution.
  • The README lists the Python versions and dependencies above.
Source-based practical guide

Fuzzy-match names while merging two pandas tables

Use the documented fuzzymerge method to link two data frames by name.

Before you start

  • Python 3.5–3.8 and the listed Hmni dependencies
  • pandas
  • An initialized Hmni Matcher
  • Two pandas DataFrames with a name column

Steps

  1. Create the two DataFrames with name columns.

  2. Call matcher.fuzzymerge(df1, df2, how='left', on='name').

Expected outcome

The method returns a left-style fuzzy merge of the two data frames using their name fields.

Guide limitations

  • The README's example uses a left merge; it also documents inner, right and outer merge modes.
  • The method has a configurable threshold, which is 0.5 by default.
Evidence and transparency

Sources & review

Source record details
Source availability
Active
Sources checked
14 October 2026
Original website title
Christopher-Thornton/hmni · Official homepage title · retained in its source language