Hyperscan/Vectorscan for Python
A CPython extension for Vectorscan, an open source fork of
Hyperscan, Intel's open source (prior to version 5.4),
high-performance multiple regex matching library.
- ✅ Binary manylinux-compatible wheels
- ✅ Statically linked (no need to build Hyperscan/Vectorscan)
- ✅ Chimera support
Installation
# 🪄 Installing libhs is NOT required, because python-hyperscan is statically linked
pip install hyperscan
Build Optimization
If you'd like to use Intel's Hyperscan rather than Vectorscan, or if
you'd like to enable native CPU detection to build optimized non-FAT
libraries (default off in Vectorscan), extending the
manylinux-hyperscan Docker image used to build the binary wheels
for this library should be fairly straightforward.
API Support
python-hyperscan
currently exposes most of the C API, with the
following caveats or exceptions:
- No stream compression support.
- No custom allocator support.
hs_expression_info
, hs_expression_ext_info
,
hs_populate_platform
, and hs_serialized_database_info
not
exposed yet.
See the documentation for more detailed build instructions.
Resources