darvid / python-hyperscan

🐍 A CPython extension for the Hyperscan regular expression matching library.
https://python-hyperscan.readthedocs.io/en/latest/
MIT License
165 stars 28 forks source link

statically link libhs #29

Closed darvid closed 2 years ago

darvid commented 3 years ago

Statically linking Hyperscan would result in a much larger extension binary size (~225mb), and require a request to pypa/warehouse to increase the upload limit on the PyPI project. The upshot is end users wouldn't need to (re-)build Hyperscan from source, at least on supported platforms (Linux/manylinux for now). Static linking would be especially helpful for easier package upgrades (#28).

Questions:

Feedback and objections are welcome, otherwise I think this is something that makes sense to move toward in the next release.

agateau-gg commented 2 years ago

Just wanted to chime in: we use your package and were bit by the 0.2.0 wheel expecting Hyperscan C library to be installed. To fix this we rebuilt the wheel ourselves but it would be great if the .so for the next pypi package included the C library as before.

Once stripped, the _hyperscan.cpython-38-x86_64-linux-gnu.so file is 7.3MB on my machine, so I don't think there is a need for two flavors.

darvid commented 2 years ago

0.3.0 should include a statically linked .so now