jarowinkler
library for fast approximate string matching using Jaro and Jaro-Winkler similarity
Decision gist · record as of 2026-08-14
Yes, if you need fast Jaro-Winkler similarity scoring and are comfortable with dormant maintenance. The package is stable, has no known vulnerabilities, installs with low friction, and integrates well with rapidfuzz for batch operations. Not recommended if you require active maintenance or expect frequent updates to support new Python versions.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.8 or later.
- Source builds require a C++14 compatible compiler.
- Low friction: pure Python wheel distribution with no compiled dependencies required for installation.
License · maintenance · safety
MIT (permissive) — MIT license is permissive; you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
last release 2023-11-03 (1015 days) · last repo commit 2024-01-08 · 79 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 261,365 downloads/mo, #8,383 on PyPI
Alternatives
Verify before relying
pip install jarowinkler
from jarowinkler import jaro_similarity, jarowinkler_similarity
jaro_similarity("Johnathan", "Jonathan")
# 0.8796296296296297
jarowinkler_similarity("Johnathan", "Jonathan")
# 0.9037037037037037- Whether the dormant maintenance status (last commit 2024-01-08) affects long-term compatibility with future Python versions.
- Performance benchmarks claimed in the description—exact speedup figures vs. jellyfish and python-Levenshtein are not quantified in the fact sheet.
What it is and what it does
JaroWinkler is a specialized string similarity library that computes Jaro and Jaro-Winkler similarity scores between strings or sequences of hashable objects. It wraps a C++14 implementation using bitparallelism to achieve high performance, and is designed to integrate directly with rapidfuzz for efficient batch operations. The library accepts any sequences of hashable objects, not just strings, and supports a score_cutoff parameter to filter weak matches and enable faster code paths internally.
The package is lightweight and installs as a pure Python wheel with a single runtime dependency on rapidfuzz. It targets developers building fuzzy matching, deduplication, or record-linkage systems where string similarity is a core operation. The MIT license and broad Python version support (3.8–3.12) make it suitable for most projects, though the dormant maintenance status means no active development or bug fixes are expected.
Use it for
- Deduplicating or matching similar names or text entries in databases or data pipelines.
- Building a fuzzy search or autocomplete feature that tolerates typos and spelling variations.
- Record linkage or entity resolution tasks where you need to find likely matches across datasets.
- Batch similarity scoring via rapidfuzz's process.cdist for comparing large collections of strings.
- Custom sequence matching where objects implement __hash__ to define similarity by identity.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need fast Jaro-Winkler similarity scoring and are comfortable with dormant maintenance.
The package is stable, has no known vulnerabilities, installs with low friction, and integrates well with rapidfuzz for batch operations. Not recommended if you require active maintenance or expect frequent updates to support new Python versions.
Install
jarowinkler on PyPI
Before you install
Low friction: pure Python wheel distribution with no compiled dependencies required for installation. Maintenance is dormant—last commit was 2024-01-08 and no release in over a year—but the repository remains active and the package is stable.
Requires Python 3.8 or later. Source builds require a C++14 compatible compiler.
License in practice
MIT license is permissive; you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
Quickstart
pip install jarowinkler
from jarowinkler import jaro_similarity, jarowinkler_similarity
jaro_similarity("Johnathan", "Jonathan")
# 0.8796296296296297
jarowinkler_similarity("Johnathan", "Jonathan")
# 0.9037037037037037
Verify before relying
- Whether the dormant maintenance status (last commit 2024-01-08) affects long-term compatibility with future Python versions.
- Performance benchmarks claimed in the description—exact speedup figures vs. jellyfish and python-Levenshtein are not quantified in the fact sheet.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.8 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagerapidfuzz |
| Maintenance | Dormant 1,015 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 261,365 / month, #8,383 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9 |
Evidence: jarowinkler-2.0.1-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 › “sequence similarity scoring”
- jarowinklerCalculates Jaro and Jaro-Winkler string similarity scores, optimized…
- thefuzzTheFuzz performs fuzzy string matching using Levenshtein Distance to…
- editdistanceComputes the edit distance (Levenshtein distance) between two…
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 jaro-winkler · pyjarowinkler · strsimpy · textdistance · cydifflib · thefuzz · jiwer · python-Levenshtein · Levenshtein