skillfed

stringzilla

Search, hash, sort, and process strings faster via SWAR and SIMD

stringzilla v5.1.2 2.8M downloads/30d#2,871 on PyPI3,532
Permissive license Apache-2.0 Active released

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

StringZilla provides SIMD and SWAR-accelerated string operations including substring search, hashing, edit distances, sorting, and segmentation for Python, with no runtime dependencies.

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

pip

pip install stringzilla

uv

uv add stringzilla

poetry

poetry add stringzilla

Installing stringzilla

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.

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')

Requires Python 3.10 or later; compiled wheels available for common platforms, but installation on unsupported architectures may require building from source.

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)

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

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

Tags

fast substring search simdstring hashing accelerationlevenshtein distance gpuutf-8 case-insensitive searchvectorized string operationsstring similarity algorithmshigh-performance text processing
simd-accelerationbioinformaticsdata-processing

More Information Analysis packages