Skip to content

Conversation

dstansby
Copy link
Contributor

This adds support for Python 3.13, which was released a little while ago. I hope it's helpful - I'm happy to try and fix any issues found, or make any other changes needed.

The motivation here is to have wheels for Python 3.13 available.

@jmrouet
Copy link

jmrouet commented Apr 29, 2025

I would like also to upvote for this PR as binary wheels for blosc are not available on python 3.13.

I have created issue #339 that this PR should close.

who can approve this PR ?

@FrancescAlted
Copy link
Member

Thanks for the suggestion! Blosc 1.x series is not receiving any kind of funding for years, so it is in very low maintenance mode. We would like people to start using Blosc2, which is well more advanced and better funded. May I ask why you want to still use Blosc 1.x? In case you have compelling reasons for continuing using it, please consider funding the project; see Support Blosc for a Sustainable Future for details.

@jmrouet
Copy link

jmrouet commented Apr 29, 2025

Thanks very much for the reply.

We have an internal python package that depends on blosc 1.x, and we never tried to upgrade to blosc 2.
If it's the way to go rather than adding support for python 3.13 to blosc 1.x, we will investigate how to upgrade.

Are there any tutorials on how to upgrade from 1.x to 2 ?

@FrancescAlted
Copy link
Member

Great. We have tried hard to make Blosc2 API-compatible with Blosc1, so it should be easy. Mind that Blosc2 format is backward compatible with Blosc1, but the reverse is not true; this means that compressed data created with Blosc2 cannot be read with Blosc1-powered tools. Generally speaking, encouraging the transition to Blosc2 to your users is recommended.

@JanSellner
Copy link
Collaborator

Would it still be possible to get this merged and make a new release which includes Python 3.13 support @FrancescAlted ?
We also have a package which still relies on blosc v1, mainly because there is no support for blosc.decompress_ptr in blosc v2 as far as I know. Reading data into an existing memory region is a super important feature because it allows to re-use memory regions.

Unfortunately, due to the drop of support for cmake < 3.5 versions, the current source distribution of python-blosc is also broken. The problem itself is already fixed by c-blosc and in this repo, so it only requires a new release (which could easily include Python 3.13 support) :-).

@FrancescAlted
Copy link
Member

@JanSellner yes, we can do that, but the problem is more of capacity. If we add support for blosc.decompress_ptr in blosc2, that would remove your need for a new python-blosc v1 release? Alternatively, we would be happy to onboard you as an administrator for python-blosc, so that you can make releases on your own.

@JanSellner
Copy link
Collaborator

Having blosc.decompress_ptr in blosc2 would be the minimal requirement to start the upgrading process to blosc2. I think this feature would be valuable for blosc2 in any case.

However, since wheels already break on our side (due to the latest cmake issue in blosc1) and since I don't know about the capacity on our side for the v1 -> v2 upgrade, I think a new release of blosc1 would be good anyways, especially since the fixes are already there. This would ease the process of upgrading to blosc2 for us and probably for others as well. So I would thankfully accept the administrator offer for making new releases to help in this regard. Thanks for the trust :-)

@FrancescAlted
Copy link
Member

Ok. So I have sent an invite for you @JanSellner for becoming maintainer of the python-blosc project. The instructions for making a release are in https://github.com/Blosc/python-blosc/blob/main/RELEASING.rst. In case you need to update the docs, the whole blogsite will need to be generated; just tell me and I'l make sure this will happen. In case of issues or problems, shout!
Best.

@JanSellner JanSellner merged commit 0e37cac into Blosc:main May 16, 2025
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants