textsearch
Find strings/words in text; convenience and C speed
Decision gist · record as of 2026-08-14
Yes, if you need fast multi-string matching with word boundaries and can tolerate an unmaintained library. The low install friction and permissive license make adoption easy, and the performance claims are compelling for NLP tasks. However, verify that pyahocorasick works on your target platform and Python version, and accept that no updates will arrive for compatibility or security issues. For new projects, consider whether an actively maintained alternative better suits your risk tolerance.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low friction: pure wheel distribution with only two runtime dependencies (anyascii and pyahocorasick).
- However, maintenance is abandoned—last release was 2022-09-02 and no commits since then, so security or compatibility issues would not be addressed.
License · maintenance · safety
MIT (permissive) — MIT license is permissive, allowing commercial and private use with minimal restrictions.
last release 2022-09-02 (1442 days) · last repo commit 2022-09-02 · 126 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 608,680 downloads/mo, #5,778 on PyPI
Alternatives
Verify before relying
pip install textsearch
from textsearch import TextSearch
ts = TextSearch(case="ignore", returns="norm")
ts.add("hi", "HI")
ts.findall("hi there") # Returns ["HI"]- Whether pyahocorasick's compiled dependency works reliably on all modern platforms and Python versions.
- Current compatibility with Python versions beyond 3.7 (classifiers list only up to 3.7).
- Whether the 30-100x speedup claim has been validated against modern regex engines or competing libraries.
What it is and what it does
textsearch is a Python library for finding and replacing multiple strings in text with word-boundary awareness. It wraps the C-based Aho-Corasick automaton (via pyahocorasick) to deliver speed gains over regex while offering convenience features like case-sensitivity modes, custom return types, and handler hooks for post-match processing. It is designed for NLP and text-processing tasks where you need to match full words rather than substrings, and where performance matters.
The library supports multiple case modes (ignore, insensitive, sensitive, smart), flexible return types (matched string, normalized value, or custom objects), and optional accent-character normalization. It depends on anyascii for character normalization and pyahocorasick for the underlying automaton. However, the project is no longer maintained—the last commit was in September 2022—so it will not receive updates for new Python versions or security issues.
Use it for
- Build a tokenizer that finds known terms in documents while respecting word boundaries, returning normalized labels.
- Implement a spell-checker or text normalizer that replaces contractions or misspellings in bulk across large text corpora.
- Create a keyword extraction tool that identifies multiple domain-specific terms in documents with case-insensitive matching.
- Refactor code or configuration files by replacing multiple strings in one pass, with regex-like prefix/postfix boundary support.
- Normalize text by replacing accented characters or synonyms across a corpus faster than regex-based approaches.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need fast multi-string matching with word boundaries and can tolerate an unmaintained library.
The low install friction and permissive license make adoption easy, and the performance claims are compelling for NLP tasks. However, verify that pyahocorasick works on your target platform and Python version, and accept that no updates will arrive for compatibility or security issues. For new projects, consider whether an actively maintained alternative better suits your risk tolerance.
Install
textsearch on PyPI
Before you install
Low friction: pure wheel distribution with only two runtime dependencies (anyascii and pyahocorasick). However, maintenance is abandoned—last release was 2022-09-02 and no commits since then, so security or compatibility issues would not be addressed.
License in practice
MIT license is permissive, allowing commercial and private use with minimal restrictions.
Quickstart
pip install textsearch
from textsearch import TextSearch
ts = TextSearch(case="ignore", returns="norm")
ts.add("hi", "HI")
ts.findall("hi there") # Returns ["HI"]
Verify before relying
- Whether pyahocorasick's compiled dependency works reliably on all modern platforms and Python versions.
- Current compatibility with Python versions beyond 3.7 (classifiers list only up to 3.7).
- Whether the 30-100x speedup claim has been validated against modern regex engines or competing libraries.
Package facts
| License | MIT permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagesanyasciipyahocorasick |
| Maintenance | Abandoned 1,442 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 608,680 / month, #5,778 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Intended Audience :: Customer ServiceIntended Audience :: DevelopersIntended Audience :: System AdministratorsOperating System :: MacOS :: MacOS XOperating System :: MicrosoftOperating System :: POSIXOperating System :: UnixProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Topic :: Software DevelopmentTopic :: Software Development :: LibrariesTopic :: Software Development :: Libraries :: Python ModulesTopic :: System :: Software DistributionTopic :: Utilities |
Evidence: textsearch-0.0.24-py2.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 › “fast multi-string search”
- textsearchFind and replace multiple strings in text with word-boundary…
- ripgrepProvides a Python interface to ripgrep (rg), a fast regex-based line…
- nmslibnmslib provides efficient similarity search in metric and non-metric…
Give your agent the search over MCP, or paste the wish link into any chat.
More Software Development packages
Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.
See also contractions · flashtext · pyahocorasick · ahocorapy · codespell · multiregex · tfidf-matcher · retrie · pyspellchecker · better-profanity