<div dir="ltr"><div><div><div><div>I am using sockets for my implementation since its
simpler to code. But that impose some speed limit, its ok for invoking
code that responds down to a milisecond but if your goal is microsecond
then a C lib would make more sense. There was a guy doing it this way
with nativeboost (which AFAIK does not work on Squeak but you could use
the Squeak FFI) but not for Python but for the R programming language. <br><br></div>Bare in mind that a lot of python libraries contain python code , so they not just C++ wrappers . <br><br></div><div>It makes more sense to invoke python libs from python . <br></div><div><br></div>Thats
what I did with my implementation, I let python run its own libraries
and my project all it does is say to python what to do. This way I can
use any python library from Pharo. There is some extra care that should
be taken with libraries that mess with threads , I had my issues for
example using pyQT but thats the usual issues you have with threading
and concurrent programming. <br><br></div>Most Python libraries use the
Python C API which can wrap C and C++ for python, gives you the ability
to manage refernce counting which is what cpython uses for its GC and
wrap C/C++ types to python objects. <br><br></div>I have been
recommended to use openQwaq implementation for running python scripts
but the documentation and the code was not so clear and I decided to
implement my own. Also my goal was to make writting python code optional
for users. I prefer using python libraries as if they are pharo
libraries which I managed to do with some basic regex parsing and
overiding MNU ;) <br><br><div class="gmail_quote"><div dir="ltr">On Wed, Aug 5, 2015 at 4:12 AM Ben Coman <<a href="mailto:btc@openinworld.com">btc@openinworld.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Wed, Aug 5, 2015 at 4:54 AM, tim Rowledge <<a href="mailto:tim@rowledge.org" target="_blank">tim@rowledge.org</a>> wrote:<br>
> The only related area notably affecting me is that a lot of Pi stuff has python libraries. Right now we can’t call them so I have to dig into the code (oh, yurgh) and replicate relevant functionality. Tedious. I have noticed that a lot of python libraries are merely shims around C++ code but we can’t call that either without a C shim - and anyway the python code often does extra bits around the edges.<br>
<br>
Kilon Alios (aka Dimitris Chloupis) has developed a Pharo/Python<br>
bridge that is perhaps malleable for use with Squeak.<br>
<br>
<a href="http://forum.world.st/invoking-python-from-pharo-td4780229.html" rel="noreferrer" target="_blank">http://forum.world.st/invoking-python-from-pharo-td4780229.html</a><br>
<br>
<a href="https://www.youtube.com/results?search_query=Ephestos" rel="noreferrer" target="_blank">https://www.youtube.com/results?search_query=Ephestos</a><br>
<br>
cheers -ben<br>
</blockquote></div></div>