skillfed

pyjarowinkler

Finds the Jaro Winkler Distance indicating a distance or similarity score between two strings.

pyjarowinkler v3.0.0 388.0K downloads/30d#7,038 on PyPI29
Permissive license Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for… (full text in the JSON record) Active released

What it is and what it does

pyjarowinkler implements the Jaro and Jaro-Winkler string similarity algorithms, which measure how alike two strings are on a scale between 0 and 1. Unlike edit-distance metrics, these algorithms weight errors at the end of strings more heavily and reward matching prefixes, making them useful for comparing short strings like names or addresses where transposition and suffix errors are common.

The package wraps the original C implementation of strcmp95 from the U.S. Census Bureau but adds Python conveniences: optional UTF-8 normalization, homoglyph detection (e.g., distinguishing Cyrillic from Latin characters), case-sensitivity control, and configurable decimal rounding. It has no runtime dependencies and supports Python 3.10 and later.

Use it for:

  • Deduplicating or matching person names in databases where spelling variations and transpositions are common.
  • Comparing address strings to identify duplicate or near-duplicate records in data cleaning pipelines.
  • Fuzzy-matching product names or SKUs in e-commerce systems to handle typos and abbreviations.
  • Detecting potential duplicate entries in user registration or data import workflows.
  • Scoring string pairs in record linkage or entity resolution tasks where exact matching fails.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Computes Jaro and Jaro-Winkler similarity and distance scores between two strings, with optional UTF-8 normalization, case sensitivity control, and homoglyph sanitization.

Yes. This is a stable, actively maintained library with no dependencies, permissive licensing, and a focused, well-documented purpose. Install it if you need to compare short strings (names, addresses, codes) and want a non-edit-distance metric that handles transpositions and prefix similarity. The API is straightforward and the implementation is grounded in a published algorithm.

Install

pyjarowinkler on PyPI

pip

pip install pyjarowinkler

uv

uv add pyjarowinkler

poetry

poetry add pyjarowinkler

Installing pyjarowinkler

Before you install

Low friction: pure Python wheel with no runtime dependencies. Actively maintained with recent commits; last release 251 days ago and repository shows ongoing activity.

License in practice

Apache 2.0 permissive license allows commercial and private use with minimal restrictions; you must retain license notices and document modifications.

Quickstart

from pyjarowinkler import distance

# Jaro similarity
distance.get_jaro_similarity("PENNSYLVANIA", "PENNCISYLVNIA", decimals=12)
# 0.830031080031

# Jaro-Winkler similarity
distance.get_jaro_winkler_similarity("hello", "haloa", decimals=2)
# 0.76

Verify before relying

  • Whether the package is thread-safe or suitable for concurrent use in multi-threaded applications.
  • Performance characteristics on very long strings or in batch processing scenarios beyond the benchmark provided.

Package facts

License Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for… (full text in the JSON record) (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance actively maintained — 251 days since the last release
Last repo commit
First released
Downloads 387,993/month — #7,038 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pyjarowinkler-3.0.0-py3-none-any.whl

Keywords: delta, diff, distance, similarity, jaro, score, string, winkler

Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Science/ResearchLicense :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Text Processing

Tags

string similarity scoringjaro winkler distancefuzzy string matchingtext similarity algorithmstring comparison metricedit distance alternativephonetic string matching
string-similarityfuzzy-matchingdata-deduplication

More Text Processing packages