[Numpy-discussion] Removing datetime support for 1.4.x series ?

Charles R Harris charlesr.harris@gmail....
Thu Feb 4 00:59:39 CST 2010


On Wed, Feb 3, 2010 at 11:48 PM, Travis Oliphant <oliphant@enthought.com>wrote:

>
> On Feb 2, 2010, at 11:59 PM, David Cournapeau wrote:
>
> Travis Oliphant wrote:
>
>
> On Feb 2, 2010, at 11:46 PM, David Cournapeau wrote:
>
>
> On Wed, Feb 3, 2010 at 12:23 PM, David Cournapeau
>
> <david@silveregg.co.jp <mailto:david@silveregg.co.jp<david@silveregg.co.jp>>>
> wrote:
>
>
>
> Sorry, my question was badly worded: besides the metadata pointer, is
>
> there any other change related to the metadata infratructure which may
>
> potentially change changes the publicly exported structures ? I wonder
>
> whereas the metadata infrastructure can be kept in 1.4.x independently
>
> of the datetime support without breaking the ABI
>
>
> FWIW, keeping the metadata pointer, and only removing datetime-related
>
> things makes numpy 1.4.x backward compatible, at least as far as scipy
>
> is concerned. So it seems the PyArray_Funcs change is the only
>
> ABI-incompatible change.
>
>
> What do you mean by the "PyArray_Funcs change"?
>
>
> The change that broke the ABI is in the PyArray_Funcs structure
> (ndarrayobject.h):
>
> struct {
>         PyArray_VectorUnaryFunc *cast[NPY_NTYPES];
>         ....
>
> Because NPY_NTYPES is bigger after the datetime change.
>
> If there is a way to have the datetime not expanding NPY_NTYPES, then I
> think we can keep the ABI. I tried something with datetimes considered
> as user types, but did not go very far (most certainly because I have
> never used this part of the code before).
>
>
> Thanks for reminding me what the ABI problem is.  Yes, that will break it
> (I was very suspicious that we could change the number of basic types
> without ABI consequence but didn't have time to think about the real
> problem).
>
> My intention in adding the datetime data-type was not to try and preserve
> ABI in the process.
>
>
If so, then it would have been better to have been upfront about that when
it went in. I know I pushed for inclusion, but I was told that the ABI could
be preserved. We've all been surprised by unforeseen bugs, accidents happen.
The question is what is the most graceful way out. I think we should follow
David's lead here as he is the current release guy.

Chuck
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.scipy.org/pipermail/numpy-discussion/attachments/20100203/027b8769/attachment.html 


More information about the NumPy-Discussion mailing list