<div dir="ltr"><span style="font-size:12.8px">hi all,</span><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">I'm a dev behind the Virtual Brain (TVB) a neuroimaging simulation library, written in Python. As part of an effort to reach out to some users stuck in MATLAB, I've been testing MATLAB's recent *official* support for Python (2014b+). It is notably better than the many other attempts because it appears to use Py's C API to expose objects and methods as MATLAB objects and methods instead of just providing eval/exec.</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">Generally it's working, but there are some workarounds to avoid segfaults, errors and lack of stdout/err. I've started to collect a series of tips and workarounds and figured there might be common interest in the community for a "helper" library so all our projects can benefit from a larger user base, and maybe ease the transition for potential Python users.</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">The most important in order, </div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">- Anything touching HDF5 must use exactly the same version as MATLAB or segfault</div><div style="font-size:12.8px">- Scipy.io.{save,load}mat segfault</div><span style="font-size:12.8px">- C++ extension modules whose exception model doesn't match MATLAB's, segfault on exception</span><div style="font-size:12.8px">- Linalg segfault unless using MKL (which is what MATLAB uses)</div><div style="font-size:12.8px">- stdout/err and logging must be redirecting to mexPrintf via a ctypes monkey patch</div><div style="font-size:12.8px">- Numpy/MATLAB array conversion is O(1) op, but can probably be made zero copy with a ctypes + lib mx workaround</div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">Aside from these (for which I sent a service request to MathWorks), it's working well and we (TVB) expect our next release to include demo scripts in MATLAB.<br></div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">So, again, if there is common interest in collecting notes and a helper library to monkey patch around the segfaults, it'd be great to not do this alone ;) </div><div style="font-size:12.8px"><br></div><div style="font-size:12.8px">cheers,</div><div style="font-size:12.8px">Marmaduke</div></div>