From d58f4c6746a7439c9816bd0edff24b69f6fcfd9c Mon Sep 17 00:00:00 2001 From: David Gidwani Date: Wed, 24 Jan 2024 20:58:24 -0500 Subject: [PATCH] docs: :memo: update README --- README.md | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index b1c7f31..4114ae5 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Hyperscan for Python +# Hyperscan/Vectorscan for Python [![Build wheels](https://github.com/darvid/python-hyperscan/actions/workflows/wheels.yml/badge.svg)](https://github.com/darvid/python-hyperscan/actions/workflows/wheels.yml) ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/hyperscan.svg) @@ -7,13 +7,15 @@ ![PyPI - License](https://img.shields.io/pypi/l/hyperscan.svg) [![Read the Docs](https://img.shields.io/readthedocs/python-hyperscan.svg)](https://python-hyperscan.readthedocs.io/en/latest/) -A CPython extension for [Hyperscan](https://www.hyperscan.io/), Intel's -open source, high-performance multiple regex matching library. Currently -only supports manylinux-compatible Linux distributions. +A CPython extension for [Vectorscan][7], an open source fork of +[Hyperscan][8], Intel's open source ([prior to version 5.4][9]), +high-performance multiple regex matching library. Currently only +supports manylinux-compatible Linux distributions. -* ✅ Binary wheels with support for Linux and macOS x86_64 (ARM64 and win32 support is planned) +* ✅ Binary wheels with support for Linux and macOS x86_64 (ARM64 and + win32 support is planned) * ✅ Statically linked (no need to build Hyperscan) -* ✅ [Chimera](https://intel.github.io/hyperscan/dev-reference/chimera.html) support +* ✅ [Chimera][1] support ## Installation @@ -22,6 +24,14 @@ only supports manylinux-compatible Linux distributions. 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][11]), extending the +[manylinux-hyperscan][10] 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 @@ -47,3 +57,8 @@ See the [documentation][6] for more detailed build instructions. [4]: http://intel.github.io/hyperscan/dev-reference/compilation.html [5]: https://github.com/darvid/python-hyperscan/issues [6]: https://python-hyperscan.readthedocs.io +[7]: https://www.vectorcamp.gr/vectorscan/ +[8]: https://www.hyperscan.io/ +[9]: https://github.com/VectorCamp/vectorscan?tab=readme-ov-file#hyperscan-license-change-after-54 +[10]: https://github.com/darvid/manylinux-hyperscan/ +[11]: https://github.com/VectorCamp/vectorscan?tab=readme-ov-file#configure--build