Conversation
Since Python 3.14 comes with built-in Zstandard support via compression.zstd, which is available on earlier Python versions via backports.zstd, it makes sense to use that library instead. This allows us to make the Zstandard support non-optional. It was previously optional because python-zstandard is quite a large dependency, but backports.zstd is much smaller, so it’s ok to always pull it in. Closes #172
|
Looks good to me! Any blockers why this is still in draft? |
|
Thanks! Sorry, forgot to describe why I had this as "draft". There are two reasons, none of them a blocker. First, I had noticed that You would have to write Second, |
|
Let’s do this! Further improvements can wait for subsequent PRs. @rhpvorderman Shall we release 2.1.0? |
|
I’ve released 2.1.0. |
Oh yes, in that case let's implement the multithreading like we did for python-isal and python-zlib-ng later. I have always felt that the intention of this library was to overcome compression bottlenecks (simply because these are unfortunately big in bioinformatics). External processes can't share memory and pipes have some efficiency cost, so if the possibility for threads and shared memory is present it is always best to go for that option. Also, it eliminates a conda dependency, which is a nice bonus. |
Since Python 3.14 comes with built-in Zstandard support via compression.zstd, which is available on earlier Python versions via backports.zstd, it makes sense to use that library instead. This allows us to make the Zstandard support non-optional. It was previously optional because python-zstandard is quite a large dependency, but backports.zstd is much smaller, so it’s ok to always pull it in.
Closes #172