oconnor663 / blake3-py

Python bindings for the BLAKE3 cryptographic hash function
Other
148 stars 14 forks source link

C-based pypi package #30

Open ThomasWaldmann opened 2 years ago

ThomasWaldmann commented 2 years ago

It would be cool to have a C-based pypi package for the blake3 bindings.

I've read the ticket on the Python issue tracker about hashlib inclusion, but that was closed / rejected (for now) - what a pity.

I guess there are some projects out there (like borgbackup, see https://github.com/borgbackup/borg/issues/45#issuecomment-668231063 ) that would like to add blake3, but not introduce a dependency on the rust toolchain. The latter might be no big issue if you target modern linux dists, but if you try to support a lot of platforms, this at least creates a lot of uncertainties (that block adoption) if not real issues (if one adopts and then stumbles into them).

Not supporting internal multithreading is no issue in our case because if we implement MT, we need to do that on a higher level anyway. The GIL should be freed though while computing a hash, so it doesn't block other stuff for no reason.