stringzilla
Search, hash, sort, and process strings faster via SWAR and SIMD
Decision gist · record as of 2026-08-14
Yes, if you process large text datasets or need fast string operations. The library is actively maintained, has no runtime dependencies, and offers substantial claimed speedups over standard libraries. The medium install friction (compiled wheels) is manageable for common platforms. No known vulnerabilities. Install only if your Python version is 3.10 or later.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later; compiled wheels available for common platforms, but installation on unsupported architectures may require building from source.
- Medium install friction due to compiled wheels across many architectures (x86, ARM, PowerPC, RISC-V, s390x).
- Actively maintained with recent releases; no runtime dependencies simplifies deployment.
License · maintenance · safety
Apache-2.0 (permissive) — Apache-2.0 is permissive; you may use, modify, and distribute StringZilla freely in commercial and private projects, provided you include a copy of the license and any modifications.
last release 2026-08-12 (2 days) · last repo commit 2026-08-14 · 3,532 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 2,833,927 downloads/mo, #2,871 on PyPI
Alternatives
Verify before relying
pip install stringzilla
import stringzilla as sz
result = sz.find('hello world', 'world')- Whether the GPU performance claims (H100 benchmarks) apply to standard PyPI installations or require separate CUDA builds.
- Whether PyPy support is fully tested and production-ready, or remains experimental.
- Whether the library is suitable for real-time or latency-critical workloads given the Python-to-C boundary crossing overhead.
What it is and what it does
StringZilla is a compiled C++ library that accelerates string operations by exploiting SIMD (vector instructions) and SWAR (bit-level parallelism) to process multiple bytes or characters in a single CPU cycle. It exposes fast implementations of substring search, Unicode case-folding, edit distances (Levenshtein, Needleman-Wunsch), sorting, segmentation, and hashing through a Python interface with zero runtime dependencies.
The library targets data engineers, bioinformaticians, and systems developers who process large text datasets or need to optimize string-heavy workloads. It claims substantial speedups over standard libraries (LibC, ICU, NumPy) and GPU libraries on common operations. The fact sheet shows it supports Python 3.10 through 3.14 on CPython and PyPy, with precompiled wheels for x86, ARM, PowerPC, RISC-V, and other architectures.
Use it for
- Parse and search large datasets like CommonCrawl or RedPajama where substring matching is a bottleneck.
- Compute pairwise edit distances on batches of DNA or protein sequences for bioinformatics pipelines.
- Accelerate database operations like LIKE, ORDER BY, and GROUP BY on text columns.
- Implement fuzzy matching or deduplication in data cleaning workflows.
- Sort or segment large text corpora by line breaks or custom delimiters at scale.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you process large text datasets or need fast string operations.
The library is actively maintained, has no runtime dependencies, and offers substantial claimed speedups over standard libraries. The medium install friction (compiled wheels) is manageable for common platforms. No known vulnerabilities. Install only if your Python version is 3.10 or later.
Install
stringzilla on PyPI
Before you install
Medium install friction due to compiled wheels across many architectures (x86, ARM, PowerPC, RISC-V, s390x). Actively maintained with recent releases; no runtime dependencies simplifies deployment.
Requires Python 3.10 or later; compiled wheels available for common platforms, but installation on unsupported architectures may require building from source.
License in practice
Apache-2.0 is permissive; you may use, modify, and distribute StringZilla freely in commercial and private projects, provided you include a copy of the license and any modifications.
Quickstart
pip install stringzilla
import stringzilla as sz
result = sz.find('hello world', 'world')
Verify before relying
- Whether the GPU performance claims (H100 benchmarks) apply to standard PyPI installations or require separate CUDA builds.
- Whether PyPy support is fully tested and production-ready, or remains experimental.
- Whether the library is suitable for real-time or latency-critical workloads given the Python-to-C boundary crossing overhead.
Package facts
| License | Apache-2.0 permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 2 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 2,833,927 / month, #2,871 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Information TechnologyNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: C++Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: File FormatsTopic :: Internet :: Log AnalysisTopic :: Scientific/Engineering :: Information AnalysisTopic :: System :: LoggingTopic :: Text Processing :: GeneralTopic :: Text Processing :: Indexing |
Evidence: stringzilla-5.1.2-cp310-cp310-macosx_11_0_arm64.whl; stringzilla-5.1.2-cp310-cp310-macosx_11_0_x86_64.whl; stringzilla-5.1.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; stringzilla-5.1.2-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl; stringzilla-5.1.2-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl; stringzilla-5.1.2-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl; stringzilla-5.1.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; stringzilla-5.1.2-cp310-cp310-manylinux_2_34_riscv64.manylinux_2_39_riscv64.whl; stringzilla-5.1.2-cp310-cp310-musllinux_1_2_aarch64.whl; stringzilla-5.1.2-cp310-cp310-musllinux_1_2_armv7l.whl; stringzilla-5.1.2-cp310-cp310-musllinux_1_2_ppc64le.whl; stringzilla-5.1.2-cp310-cp310-musllinux_1_2_riscv64.whl; stringzilla-5.1.2-cp310-cp310-musllinux_1_2_s390x.whl; stringzilla-5.1.2-cp310-cp310-musllinux_1_2_x86_64.whl; stringzilla-5.1.2-cp310-cp310-win32.whl; stringzilla-5.1.2-cp310-cp310-win_amd64.whl; stringzilla-5.1.2-cp311-cp311-macosx_11_0_arm64.whl; stringzilla-5.1.2-cp311-cp311-macosx_11_0_x86_64.whl; stringzilla-5.1.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; stringzilla-5.1.2-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.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 substring search simd”
- stringzillaStringZilla provides SIMD and SWAR-accelerated string operations…
- suffix-treesImplements suffix trees and generalized suffix trees in Python,…
- ahocorapyahocorapy implements the Aho-Corasick algorithm in pure Python to…
Give your agent the search over MCP, or paste the wish link into any chat.
More Information Analysis 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.
pyarrow provides Python bindings to Apache Arrow's C++ libraries for efficient columnar data processing, serialization, and interoperability with pandas, NumPy, and other Python ecosystem tools.
NetworkX provides data structures and algorithms for creating, analyzing, and manipulating graphs and networks, supporting everything from simple undirected graphs to complex directed and weighted networks.
Connects Python applications to Snowflake data warehouses using the DB API 2.0 specification, enabling SQL queries, data transfers, and warehouse operations.
ContourPy calculates contours of 2D quadrilateral grids using C++11 algorithms wrapped in Python, offering serial and multithreaded implementations without requiring Matplotlib as a dependency.
Snowpark Python provides APIs to query and process data directly in Snowflake without moving data to your local system, with support for both native Snowpark and pandas-compatible interfaces.
Install it if you use Snowflake and want to process data without moving it to your application layer.
See also strsimpy · polyleven · fuzzysearch · Levenshtein · pysimdjson · simsimd · python-Levenshtein · pylcs · pfzy · amply