skillfed

jaro-winkler

Original, standard and customisable versions of the Jaro-Winkler functions.

jaro-winkler v2.0.3 1.1M downloads/30d#4,363 on PyPI32
Copyleft license GNU General Public License v3 (GPLv3) Abandoned released

What it is and what it does

jaro-winkler is a Python implementation of the Jaro and Jaro-Winkler string similarity algorithms. It provides three main functions: jaro_metric() for the standard Jaro algorithm, jaro_winkler_metric() for Winkler's variant (which boosts scores for matching prefixes), and original_metric() which replicates the reference C implementation including typo tables. The package also offers custom_metric() for users who want to tune parameters like prefix scaling, boost thresholds, and typo penalties.

The library has no external runtime dependencies and installs as a pure Python wheel. It is designed for comparing pairs of strings and returning a normalized score; null strings are treated as equal, and the caller is responsible for case normalization and whitespace handling. The package is abandoned as of August 2022 with no recent maintenance.

Use it for:

  • Detect potential duplicate records in databases by scoring name or address field similarity
  • Implement fuzzy matching in search interfaces to find close matches when exact matches fail
  • Validate data entry by comparing user input against reference strings with a configurable threshold
  • Deduplicate contact lists or customer records where names may be spelled slightly differently
  • Score spelling corrections or typo suggestions in text processing pipelines

Worth the install?

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

Computes Jaro and Jaro-Winkler string similarity scores, returning values from 0 (no match) to 1 (perfect match) for comparing two strings.

Yes, if you need a lightweight, dependency-free Jaro-Winkler implementation for a stable use case. The package works and has no known vulnerabilities, but it is abandoned—no updates are expected. The GPLv3 license is a blocker for proprietary projects. Suitable for internal tools, open-source projects, or research where you can accept no future maintenance.

Install

jaro-winkler on PyPI

pip

pip install jaro-winkler

uv

uv add jaro-winkler

poetry

poetry add jaro-winkler

Installing jaro-winkler

Before you install

Low install friction with no runtime dependencies. However, the package is abandoned—last release was 2022-08-05 and no commits since then. Use only if the existing functionality meets your needs without expecting updates or maintenance.

License in practice

Licensed under GPLv3 (copyleft). Any derivative work or modification must also be released under GPLv3; proprietary or closed-source projects cannot incorporate this package without licensing implications.

Quickstart

pip install jaro-winkler

import jaro
score = jaro.jaro_winkler_metric('SHACKLEFORD', 'SHACKELFORD')
print(score)  # Returns similarity score between 0 and 1

Verify before relying

  • Whether the package works correctly with modern Python versions (python_support is unspecified in the fact sheet)
  • Performance characteristics when comparing large numbers of string pairs
  • Behavior with non-ASCII or special Unicode characters beyond the documented unicode string expectation

Package facts

License GNU General Public License v3 (GPLv3) (copyleft)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance abandoned — 1,470 days since the last release
Last repo commit
First released
Downloads 1,106,729/month — #4,363 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: jaro_winkler-2.0.3-py3-none-any.whl

License :: OSI Approved :: GNU General Public License v3 (GPLv3)Operating System :: POSIXProgramming Language :: Python :: 3Topic :: Text ProcessingTopic :: Text Processing :: GeneralTopic :: Text Processing :: Indexing

Tags

string similarity scoringjaro winkler metricfuzzy string matchingstring distance algorithmtext comparison scoringduplicate detection
string-matchingabandoned

More Text Processing packages