jaro-winkler
Original, standard and customisable versions of the Jaro-Winkler functions.
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
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 · maintenance · safety
copyleft license (copyleft) — 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.
last release 2022-08-05 (1470 days) · last repo commit 2022-08-05 · 32 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,106,729 downloads/mo, #4,363 on PyPI
Alternatives
Verify before relying
pip install jaro-winkler
import jaro
score = jaro.jaro_winkler_metric('SHACKLEFORD', 'SHACKELFORD')
print(score) # Returns similarity score between 0 and 1- 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
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 on it.
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
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 | copyleft license 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 |
| Classifiers | License :: OSI Approved :: GNU General Public License v3 (GPLv3)Operating System :: POSIXProgramming Language :: Python :: 3Topic :: Text ProcessingTopic :: Text Processing :: GeneralTopic :: Text Processing :: Indexing |
Evidence: jaro_winkler-2.0.3-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “string similarity scoring”
- jaro-winklerComputes Jaro and Jaro-Winkler string similarity scores, returning…
- jarowinklerCalculates Jaro and Jaro-Winkler string similarity scores, optimized…
- pyjarowinklerComputes Jaro and Jaro-Winkler similarity and distance scores between…
Give your agent the search over MCP, or paste the wish link into any chat.
More Text Processing packages
A drop-in replacement for Python's standard `re` module that adds advanced regex features like nested sets, fuzzy matching, lookaround in conditionals, and full Unicode case-folding while maintaining backward compatibility.
pyparsing provides a library for building text parsers directly in Python code using composable grammar classes, handling quoted strings, whitespace variation, and embedded comments without regex or lex/yacc.
Install it if you need to parse text or define grammars programmatically.
fonttools manipulates font files in multiple formats (TrueType, OpenType, AFM, Type 1, Mac-specific) and includes TTX, a tool to convert fonts to and from XML text format.
Install it if you need to read, write, or manipulate fonts programmatically or via the TTX command-line tool.
Docutils converts plaintext documentation in reStructuredText format into multiple output formats including HTML, XML, and LaTeX using a modular processing system.
RapidFuzz provides fast fuzzy string matching using Levenshtein Distance and related metrics, implemented mostly in C++ with Python bindings for rapid similarity scoring and approximate string matching.
Install it if you need fuzzy string matching; it's a solid replacement for FuzzyWuzzy with better licensing and performance.
tinycss2 parses CSS strings into token and block objects, and generates CSS strings from those objects, following the CSS Syntax Level 3 specification without enforcing specific properties or values.
Install it if your project requires CSS tokenization or syntax manipulation.
See also jarowinkler · pyjarowinkler · strsimpy · textdistance · pysimstring · python-Levenshtein · ngram · phonetics · pyjson · jsoncomparison