[Numpy-discussion] C-API change for 1.2

Peter numpy-discussion@maubp.freeserve.co...
Sun Aug 17 07:33:42 CDT 2008


> David Cournapeau wrote:
>> Does that mean we will continue breaking the ABI from time to time
>> during the 1.* cycle ?
>

Jon Wright wrote:
> Can someone help me to understand me what is the compelling reason for
> this change? If it only means everyone recompiles, it is hard to see
> what we, as users, are gaining by doing that.

As another NumPy user, and developer on another python project using
Numeric/numpy at the C level, I had much the same thought.  For our
users who compile from source or use their Linux distribution's
packages this isn't that big problem (the Linux packagers however may
disagree!).

However, to support Windows users, this means that in addition to
providing one installation exe per version of python, we'd also need
to provide separate versions for numpy 1.1 and 1.2.  I am also not
looking forward to the additional up front effort to reorganise our
build system to cope with two versions of numpy.

I imagine most 3rd party projects which use the NumPy at the C level
will have similar views, and quite likely many of them are currently
blissfully unaware of this impending API breakage, as I would have
expect more comments.

(I would have replied earlier but I had to track down which email
address I was subscribed to this list with.)

I really can't see why NumPy 1.2 is going to break the C-API
compatibility for something that sounds so trivial as renaming the
"hasobject" member of the PyArray_Descr structure to "flags".  This
doesn't even add any new functionality!

I do understand that the API will have to evolve at some point, and
Stéfan van der Walt's version numbering scheme sounds like a sensible
change to make when you do change the C-API.  I'm just questioning the
rational for breaking the C-API in NumPy 1.2 for what seems to me a
trivial change.

I don't know if this constitutes "major opposition", but is keeping
the same C-API for NumPy 1.2 unchanged still a possibility?  Please?

Thank you,

Peter


More information about the Numpy-discussion mailing list