It seems to me one needs to modify ndarray.__new__ so it can take a named buffer= argument, where that argument can be an mmap object. Currently the python ndarray.__new__ can accept such an argument, but the numpypy one does not appear to.
When I try to figure out the changes to interp_numarray.py to make it work, it goes way over my head.