pysimstring
Easy to install clone of simstring
What it is and what it does
pysimstring is a Python wrapper around the SimString approximate string matching algorithm, designed to find strings similar to a query within a pre-built database. It solves the problem of fuzzy string matching—finding close matches even when the input is misspelled, truncated, or slightly different from the stored strings. The package is a fork that removes the libiconv dependency, making it easier to install on Windows without requiring conda.
The library works by building an index of strings and then retrieving candidates that fall within a specified similarity threshold. It's useful for tasks like entity matching, typo correction, and deduplication where exact string matching is too strict. The package has no runtime dependencies and ships as pre-compiled wheels for multiple Python versions and platforms, reducing installation friction compared to building from source.
Use it for:
- Matching user-entered names or addresses against a reference database despite typos or formatting differences.
- Deduplicating records in a dataset where identifiers may be slightly different across sources.
- Autocomplete or search suggestions that tolerate minor spelling variations.
- Entity linking in NLP pipelines where mention strings must match against a knowledge base.
- Fuzzy matching of product codes or SKUs in e-commerce systems.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides fast approximate string matching and similarity search using the SimString algorithm, enabling fuzzy matching of strings against a database.
Yes, if you need fast approximate string matching and can verify the license terms in the repository. The package is straightforward to install across multiple Python versions and has no external dependencies. However, the unclear license status and minimal repository activity (aging status, 2 stars) mean you should confirm licensing and maintenance expectations before adopting it in production systems.
Install
pysimstring on PyPI
pip
pip install pysimstringuv
uv add pysimstringpoetry
poetry add pysimstringInstalling pysimstring
Before you install
Medium install friction due to compiled wheels, but well-supported across multiple Python versions and major platforms (Windows, macOS, Linux). Last release was recent (2025-04-06), though the repository shows minimal activity (2 stars, aging status).
License in practice
License status is unclear—no SPDX identifier or raw license text is declared. Before relying on this package in a production or commercial context, verify the actual license terms in the repository.
Quickstart
pip install pysimstring
import pysimstring
No explicit Python version requirement declared; verify compatibility with your target Python version before deployment.
Verify before relying
- Exact license terms and attribution requirements—license_treatment is marked unclear and no SPDX identifier is present.
- Whether the package is actively maintained—repository has only 2 stars and status is 'aging' despite recent release date.
- Python version support boundaries—requires_python is unspecified in the metadata.
- Specific API and usage patterns—the fact sheet does not detail the module's public interface or methods.
Package facts
| License | not declared (unclear) |
| Python support | not specified |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | none |
| Maintenance | aging — 495 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 75,836/month — #14,676 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pysimstring-1.3.0-cp310-cp310-macosx_10_9_x86_64.whl; pysimstring-1.3.0-cp310-cp310-macosx_11_0_arm64.whl; pysimstring-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; pysimstring-1.3.0-cp310-cp310-win_amd64.whl; pysimstring-1.3.0-cp311-cp311-macosx_10_9_x86_64.whl; pysimstring-1.3.0-cp311-cp311-macosx_11_0_arm64.whl; pysimstring-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; pysimstring-1.3.0-cp311-cp311-win_amd64.whl; pysimstring-1.3.0-cp312-cp312-macosx_10_13_x86_64.whl; pysimstring-1.3.0-cp312-cp312-macosx_11_0_arm64.whl; pysimstring-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; pysimstring-1.3.0-cp312-cp312-win_amd64.whl; pysimstring-1.3.0-cp313-cp313-macosx_10_13_x86_64.whl; pysimstring-1.3.0-cp313-cp313-macosx_11_0_arm64.whl; pysimstring-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; pysimstring-1.3.0-cp313-cp313-win_amd64.whl; pysimstring-1.3.0-cp37-cp37m-macosx_10_9_x86_64.whl; pysimstring-1.3.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl; pysimstring-1.3.0-cp37-cp37m-win_amd64.whl; pysimstring-1.3.0-cp38-cp38-macosx_10_9_x86_64.whl
Tags
More Text Processing packages
A drop-in replacement for Python's standard…
permissive · top 100 on PyPI
pyparsingpyparsing provides a library for building text…
permissive · top 1,000 on PyPI
docutilsDocutils converts plaintext documentation in…
unclear · top 1,000 on PyPI
RapidFuzzRapidFuzz provides fast fuzzy string matching…
permissive · top 1,000 on PyPI
tinycss2tinycss2 parses CSS strings into token and…
permissive · top 1,000 on PyPI
llama-parseLlamaParse parses complex documents (PDFs,…
permissive · top 1,000 on PyPI
ngramExtends Python's set class to perform fuzzy…
copyleft · top 15,000 on PyPI
thefuzzTheFuzz performs fuzzy string matching using…
permissive · top 5,000 on PyPI
py-tlshGenerates locality-sensitive hashes for fuzzy…
permissive · top 15,000 on PyPI
strsimpyImplements a dozen string similarity and…
permissive · top 15,000 on PyPI
MetaphoneImplements the Metaphone and Double Metaphone…
permissive · top 15,000 on PyPI
phoneticsComputes phonetic keys of strings using…
permissive · top 15,000 on PyPI
pfzyProvides fuzzy string matching with match…
permissive · top 5,000 on PyPI
fuzzyset2Performs fuzzy string matching and approximate…
permissive · top 15,000 on PyPI
string-grouperString Grouper finds groups of similar strings…
permissive · top 15,000 on PyPI