Skip to main content

Python bindings for Hyperscan.

Project description

Hyperscan/Vectorscan for Python

GitHub Actions Workflow Status PyPI - Version PyPI - Downloads PyPI - Python Version PyPI - Wheel PyPI - License Read the Docs

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

hyperscan-0.7.7-pp310-pypy310_pp73-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.7 MB view hashes)

Uploaded PyPy manylinux: glibc 2.24+ x86-64 manylinux: glibc 2.28+ x86-64

hyperscan-0.7.7-pp310-pypy310_pp73-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.7 MB view hashes)

Uploaded PyPy manylinux: glibc 2.24+ ARM64 manylinux: glibc 2.28+ ARM64

hyperscan-0.7.7-pp39-pypy39_pp73-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.7 MB view hashes)

Uploaded PyPy manylinux: glibc 2.24+ x86-64 manylinux: glibc 2.28+ x86-64

hyperscan-0.7.7-pp39-pypy39_pp73-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.7 MB view hashes)

Uploaded PyPy manylinux: glibc 2.24+ ARM64 manylinux: glibc 2.28+ ARM64

hyperscan-0.7.7-cp312-cp312-musllinux_1_1_x86_64.whl (2.3 MB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.1+ x86-64

hyperscan-0.7.7-cp312-cp312-musllinux_1_1_aarch64.whl (2.3 MB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.1+ ARM64

hyperscan-0.7.7-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.8 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.24+ x86-64 manylinux: glibc 2.28+ x86-64

hyperscan-0.7.7-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.7 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.24+ ARM64 manylinux: glibc 2.28+ ARM64

hyperscan-0.7.7-cp312-cp312-macosx_11_0_arm64.whl (1.7 MB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

hyperscan-0.7.7-cp312-cp312-macosx_10_9_x86_64.whl (1.7 MB view hashes)

Uploaded CPython 3.12 macOS 10.9+ x86-64

hyperscan-0.7.7-cp311-cp311-musllinux_1_1_x86_64.whl (2.3 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

hyperscan-0.7.7-cp311-cp311-musllinux_1_1_aarch64.whl (2.3 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ ARM64

hyperscan-0.7.7-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.8 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.24+ x86-64 manylinux: glibc 2.28+ x86-64

hyperscan-0.7.7-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.7 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.24+ ARM64 manylinux: glibc 2.28+ ARM64

hyperscan-0.7.7-cp311-cp311-macosx_11_0_arm64.whl (1.7 MB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

hyperscan-0.7.7-cp311-cp311-macosx_10_9_x86_64.whl (1.7 MB view hashes)

Uploaded CPython 3.11 macOS 10.9+ x86-64

hyperscan-0.7.7-cp310-cp310-musllinux_1_1_x86_64.whl (2.3 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

hyperscan-0.7.7-cp310-cp310-musllinux_1_1_aarch64.whl (2.3 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ ARM64

hyperscan-0.7.7-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.8 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.24+ x86-64 manylinux: glibc 2.28+ x86-64

hyperscan-0.7.7-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.7 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.24+ ARM64 manylinux: glibc 2.28+ ARM64

hyperscan-0.7.7-cp310-cp310-macosx_11_0_arm64.whl (1.7 MB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

hyperscan-0.7.7-cp310-cp310-macosx_10_9_x86_64.whl (1.7 MB view hashes)

Uploaded CPython 3.10 macOS 10.9+ x86-64

hyperscan-0.7.7-cp39-cp39-musllinux_1_1_x86_64.whl (2.3 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

hyperscan-0.7.7-cp39-cp39-musllinux_1_1_aarch64.whl (2.3 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ ARM64

hyperscan-0.7.7-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.7 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.24+ x86-64 manylinux: glibc 2.28+ x86-64

hyperscan-0.7.7-cp39-cp39-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (1.7 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.24+ ARM64 manylinux: glibc 2.28+ ARM64

hyperscan-0.7.7-cp39-cp39-macosx_10_9_x86_64.whl (1.7 MB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page