I just wanted to follow up on the C++ side of OP email - Cython has quite a few difficulties working with C++ code at the moment. It's really more of a C solution most of the time and you must split things up into a mostly C call interface (that is the C code Cython can call) and limit exposure/complications with templates and complex C++11+ constructs. This may change in the longer term but in the near, that is the state.
I used to use Boost.Python but I'm getting my feet wet with Pybind (which is basically the same api but works more as you expect it to with it's signature/type plumbing (including std::shared_ptr islanding), with some other C++11 based improvements, and is header only + submodule friendly!). I also remembered ndarray thanks to Neal's post but I haven't figured out how to leverage it better than pybind, at the moment. I'd be interested to see ndarray gain support for pybind interoperability... -Jason On Wed, Aug 31, 2016 at 1:08 PM, David Morris <otha...@othalan.net> wrote: > On Wed, Aug 31, 2016 at 2:28 PM, Michael Bieri <mibi...@gmail.com> wrote: > >> Hi all >> >> There are several ways on how to use C/C++ code from Python with NumPy, >> as given in http://docs.scipy.org/doc/numpy/user/c-info.html . >> Furthermore, there's at least pybind11. >> >> I'm not quite sure which approach is state-of-the-art as of 2016. How >> would you do it if you had to make a C/C++ library available in Python >> right now? >> >> In my case, I have a C library with some scientific functions on matrices >> and vectors. You will typically call a few functions to configure the >> computation, then hand over some pointers to existing buffers containing >> vector data, then start the computation, and finally read back the data. >> The library also can use MPI to parallelize. >> > > I have been delighted with Cython for this purpose. Great integration > with NumPy (you can access numpy arrays directly as C arrays), very python > like syntax and amazing performance. > > Good luck, > > David > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion@scipy.org > https://mail.scipy.org/mailman/listinfo/numpy-discussion > >
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org https://mail.scipy.org/mailman/listinfo/numpy-discussion