--- id: textsearch version: "0.0.24" license: MIT license_treatment: permissive maintenance: abandoned --- # textsearch — Find strings/words in text; convenience and C speed License: permissive · Maintenance: abandoned · Downloads: 608.7K/mo ## 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 above — verify before relying. Find and replace multiple strings in text with word-boundary awareness, using C-accelerated Aho-Corasick matching for speed comparable to regex but typically 30-100x faster. 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 pip install textsearch uv add textsearch poetry add textsearch ## Installing textsearch 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: unspecified - Install friction: low - Maintenance: abandoned - Downloads: 608.7K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags fast multi-string search, text replacement with word boundaries, aho-corasick matcher, nlp tokenization helper, bulk find and replace, case-insensitive text matching, spell checker foundation, nlp-toolkit, performance-focused, unmaintained [View on SkillFed](https://skillfed.io/packages/textsearch) · [View on PyPI](https://pypi.org/project/textsearch/)