[Numpy-discussion] ticket 2228: Scientific package seeing ABI change in 1.6.x

Charles R Harris charlesr.harris at gmail.com
Tue Oct 30 21:46:06 EDT 2012

On Tue, Oct 30, 2012 at 4:08 PM, Ralf Gommers <ralf.gommers at gmail.com>wrote:

> Hi,
> Ticket 2228 says ABI was broken in 1.6.x. Specifically, NPY_CHAR in the
> NPY_TYPES enum seems to be have been moved. Can anyone comment on why the 3
> datetime related values were inserted instead of appended?

I don't know, although having NPY_CHAR after  NPY_NTYPES goes back to 1.0.3

                    NPY_CHAR,      /* special flag */

And I expect it was desired to keep it there on the expectation that there
was a reason for it. The decision not to append was in 1.4.0

                    NPY_DATETIME, NPY_TIMEDELTA,
                    NPY_CHAR, /* special flag */

And probably due to Robert Kern or Travis, IIRC who worked on getting it in.

I don't see a good way to get around the ABI break, I think the question
going forward needs to be whether we leave it after NPY_NTYPES or make it
part of the unchanging ABI, and I suspect we need to know what the 'special
flag' comment means before we can make that decision. My suspicion is that
it wasn't considered a real numeric type, but rather a flag marking a
special string type, in which case it probably doesn't really belong among
the types, which I think is also indicated by NPY_NOTYPE. Moving NPY_CHAR
could have implications we would want to check, but I'd generally favor
moving it all else being equal.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20121030/f2fcc187/attachment.html>

More information about the NumPy-Discussion mailing list