<div dir="ltr">We recently added a similar functionality to Numba.  Via a @cfunc decorator, we can compile functions at runtime and expose a ctypes function object for use in other libraries.  We also have an example on using scipy quad at <a href="http://numba.pydata.org/numba-doc/latest/user/cfunc.html">http://numba.pydata.org/numba-doc/latest/user/cfunc.html</a>.  <div><div><div><br><div class="gmail_quote"><div dir="ltr">On Sun, Jul 10, 2016 at 11:22 AM Stefan Behnel <<a href="mailto:stefan_ml@behnel.de">stefan_ml@behnel.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Mark Dewing schrieb am 10.07.2016 um 07:23:<br>
> It seems any wrapper around<br>
> a native code library that uses<br>
> callbacks will need code to handle a native code callback vs. a Python<br>
> callback.<br>
>  For details, see these pull requests:<br>
>      <a href="https://github.com/saullocastro/cubature/pull/16" rel="noreferrer" target="_blank">https://github.com/saullocastro/cubature/pull/16</a><br>
>      <a href="https://github.com/JohannesBuchner/PyMultiNest/pull/73/files" rel="noreferrer" target="_blank">https://github.com/JohannesBuchner/PyMultiNest/pull/73/files</a><br>
><br>
> One of the issues in generalizing this is how to scale to different<br>
> libraries and callbacks without needing to program knowledge of each of<br>
> them into Sympy.<br>
> There needs to be some way to describe the parameters expected in the<br>
> callback, but it should be at a higher level than just C types - which ones<br>
> are inputs, outputs, array lengths, etc.<br>
<br>
A couple of years ago, we did some thinking about this in the Cython<br>
project. Here's the write-up from back then, don't remember how complete it<br>
is. It never lead anywhere since no-one stepped up to implement that protocol.<br>
<br>
<a href="https://github.com/cython/cython/wiki/enhancements-cep1000" rel="noreferrer" target="_blank">https://github.com/cython/cython/wiki/enhancements-cep1000</a><br>
<br>
Stefan<br>
<br>
_______________________________________________<br>
Python-compilers mailing list<br>
<a href="mailto:Python-compilers@python.org" target="_blank">Python-compilers@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/python-compilers" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/python-compilers</a><br>
</blockquote></div></div></div></div></div><div dir="ltr">-- <br></div><div data-smartmail="gmail_signature"><div dir="ltr">Siu Kwan Lam<div>Software Engineer</div><div>Continuum Analytics</div></div></div>