[Numpy-discussion] Porting strategy for py3k

Dag Sverre Seljebotn dagss@student.matnat.uio...
Mon May 4 07:22:34 CDT 2009


David Cournapeau wrote:
> On Mon, May 4, 2009 at 1:24 AM, Dag Sverre Seljebotn
> <dagss@student.matnat.uio.no> wrote:
>   
>> David Cournapeau wrote:
>>     
>>> On Fri, Apr 24, 2009 at 4:49 PM, Dag Sverre Seljebotn
>>>       
>>>> One thing somebody *could* work on rather independently for some hours
>>>> is proper PEP 3118 support, as that is available in Python 2.6+ as well
>>>> and could be conditionally used on those systems.
>>>>         
>>> Yes, this could be done independently. I am not familiar with PEP
>>> 3118; from the python-dev ML, it looks like the current buffer API has
>>> some serious shortcomings, I don't whether this implies to numpy or
>>> not. Do you have more on this ?
>>>       
>> Not sure what you refer to ...
>>     
>
> http://mail.python.org/pipermail/python-dev/2009-April/088211.html
>
> Thank you for those information.
>
> I don't understand what is meant by "not implemented for
> multi-dimensional array", and the consequences for numpy. Does it mean
> that PEP 3118 is not fully implemented ? Is the status of the buffer
> interface the same for python 2.6 and python 3 ?
>   
The "memoryview" is not implemented on 2.6, but that's just a utility 
for being able to acquire a buffer and inspect it from Python-space. 
 From Cython or C one still has access.

I think this just refers to there not being any multidimensional 
consumers nor exporters in the standard library. So from the point of 
view of the standard library it is a bit useless; but it is not if one 
uses 3rd party libraries. The API itself is working fine, and you can 
e.g. export a multidimensional buffer and use it in Cython (defined 
__getbuffer__ for a cdef class and then access it through 
classname[dtype, ndim=...]), under both 2.6 and 3.0.

Dag Sverre



More information about the Numpy-discussion mailing list