Hi! Thank you for all your feedback this week!

We have made a decision to take a less disruptive option that we considered
and that came up in this discussion.

We back out of the `NumpyUnpickler` class solution for reading pickles
across major NumPy versions.

Instead, we will retain `numpy.core` stubs in NumPy 2.0 to allow loading
NumPy 1.x pickles.
Additionally, `numpy._core` stubs will be backported to 1.26 to ensure
compatibility the other way around - loading NumPy 2.0 pickles with NumPy
1.26 installed.

Both major versions will continue to create pickles with their own contents
(NumPy 1.26 with `numpy.core` paths and NumPy 2.0 with `numpy._core` paths).

This way any pickle will be loadable by both major versions.


On Tue, Oct 10, 2023 at 3:33 PM Nathan <nathan.goldb...@gmail.com> wrote:

>
>
> On Tue, Oct 10, 2023 at 7:03 AM Ronald van Elburg <
> r.a.j.van.elb...@hetnet.nl> wrote:
>
>> I have one more useCase to consider from our ecosystem.
>>
>> We dump numpy arrays into a MongoDB using GridFS for subsequent
>> visualization, some snippets:
>>
>> '''Python
>>         with BytesIO() as BIO:
>>             np.save(BIO, numpy_array)
>>             serialized_A = BIO.getvalue()
>>         filehandle_id = self.representations_files.put(serialized_A)
>> '''
>>
>> and then restore them in the other application:
>>
>> '''Python
>> numpy_array = np.load(BytesIO(serializedA))
>> '''
>> For us this is for development work only and I am less concerned about
>> having mixed versions in my database, but in principle that is a scenario.
>> But it seems to me that for this to work the reading application needs to
>> be migrated to version 2 and temporarily extended with the NumpyUnpickler
>> before the writing application is migrated. Or they need to be migrated at
>> the same time. Is that correct?
>
>
> np.save and np.load will use NumpyUnpickler under the hood so you won’t
> have any issues, you would only have issues if you saved or loaded pickles
> using the pickle module directly.
>
>
>
>> _______________________________________________
>> NumPy-Discussion mailing list -- numpy-discussion@python.org
>> To unsubscribe send an email to numpy-discussion-le...@python.org
>> https://mail.python.org/mailman3/lists/numpy-discussion.python.org/
>> Member address: nathan12...@gmail.com
>>
> _______________________________________________
> NumPy-Discussion mailing list -- numpy-discussion@python.org
> To unsubscribe send an email to numpy-discussion-le...@python.org
> https://mail.python.org/mailman3/lists/numpy-discussion.python.org/
> Member address: mso...@quansight.com
>
_______________________________________________
NumPy-Discussion mailing list -- numpy-discussion@python.org
To unsubscribe send an email to numpy-discussion-le...@python.org
https://mail.python.org/mailman3/lists/numpy-discussion.python.org/
Member address: arch...@mail-archive.com

Reply via email to