[Numpy-discussion] Cython issues w/ 1.4.0

David Cournapeau cournape at gmail.com
Tue Dec 8 12:47:58 EST 2009


On Wed, Dec 9, 2009 at 2:37 AM, Pauli Virtanen <pav at iki.fi> wrote:
> ke, 2009-12-09 kello 02:28 +0900, David Cournapeau kirjoitti:
> [clip]
>> It seems that it is partly a cython problem. If py3k can be done for
>> numpy 1.5, I wonder if we should focus on making incompatible numpy
>> 1.6 (or 2.0 :) ), with an emphasis on making the C api more robust
>> about those changes, using opaque pointer, functions, etc...
>> Basically, implementing something like PEP 384, but for numpy.
>>
>> As numpy becomes more and more used as a basic for so many softwares,
>> I feel like the current situation is hurting numpy users quite badly.
>> Maybe I am overestimate the problem, though ?
>
> If we add an unused
>
>        void *private
>
> both to ArrayDescr and ArrayObject for 1.4.x, we can stuff private data
> there and don't need to break the ABI again for 1.5 just because of
> possible changes to implementation details. (And if it turns we can do
> without them in 1.5.x, then we have some leeway for future changes.)

What I had in mind was more thorough: all the structs become as opaque
as possible, we remove most macros to replace them with accessors (or
mark the macro as "unsafe" as far as ABI goes). This may be
unrealistic, at least in some cases, for speed reasons, though.

Of course, this does not prevent from applying your suggested change -
I don't understand why you want to add it to 1.4.0, though. 1.4.0 does
not break the ABI compared to 1.3.0. Or is it "just" to avoid the
cython issue to reappear for 1.5.0 ?

cheers,

David



More information about the NumPy-Discussion mailing list