-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Switch to blosc2; add Python 3.12 support #719
Conversation
61df740
to
1ae39ce
Compare
Looks good, as advertised 👍 |
if modules_available("blosc"): | ||
import blosc | ||
|
||
# The choice of settings here is cribbed from distributed.protocol.compression. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I cargo-culted these settings from dask.distributed
in the first place without any benchmarking. They aren't directly transferrable to blsoc2, so I have reverted to just going with the defaults for now until we have time to benchmark.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you want to retain this TODO as a comment or as a low-priority github issue?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good call. Done #724
if modules_available("blosc"): | ||
import blosc | ||
|
||
# The choice of settings here is cribbed from distributed.protocol.compression. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you want to retain this TODO as a comment or as a low-priority github issue?
The library blosc2 is evidently superseding blosc, which has not published a release since 2022 and has yet to publish Python 3.12-compatible wheels. This is blocking Tiled support for Python 3.12.
Blosc2 claims to be fully backward-compatible with Blosc1-serialized bytes. I'd like to verify that old tiled clients can talk to new tiled servers before we merge.
As an aside, while looking into this I noticed that
distributed
dropped support for blosc. Someday it would be good to evaluate how much value we are deriving from this dependency, but I'm inclined to keep it for now.