I'd rather send and recieve PyArrays into my C modules since I often end up with a foo(int count, type *data) call anyway. Sure, there's NumPy for this sort of dirtywork, but this is so much more convienient.
I think this issue is largely superseded by PEP 3118 <http://www.python.org/dev/peps/pep-3118>, which is being backported to 2.6 (see ). AFAICT, the only functionality not available from the new buffer protocol is the ability to create new array objects from C code, but this patch does not provide such functionality either. Travis, can you weigh in on this? I think it may be useful to expose newarrayobject() through some C API compatible with PEP 3118, but otherwise this proposal seems redundant.
I will look at the patch, but generally I'm not inclined to give the array module more legs because I agree that the desired functionality should be put into the memoryview object and the buffer protocol.