On Mon, Mar 26, 2012 at 5:23 AM, G. Allegri <span dir="ltr">&lt;<a href="mailto:giohappy@gmail.com">giohappy@gmail.com</a>&gt;</span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="gmail_quote"><div class="im"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div>I would advise you to change your software to adopt a loose coupling strategy</div>


</div>
between the qgis part and the esri part, either through web services, data<br>
exchange over a file or a database or something else not considered as a link<br>
in the GPL sense.<br></blockquote><div><br></div></div><div>This is a solution that I have considered,  but it would require a lot of overhead to do data structure exchange (python objects). I will consider the way of cPickle or Google&#39;s protobuf.</div>


<div><br></div><div>giovanni</div></div></blockquote><div><br></div><div>Take a look at the IPython parallel infrastructure:</div><div><br></div><div>  <a href="http://ipython.org/ipython-doc/stable/parallel/index.html">http://ipython.org/ipython-doc/stable/parallel/index.html</a></div>

<div><br></div><div>Haven&#39;t used ArcPy, but if it is a simple matter of importing libraries then you could fire up an IPcluster that makes the required imports. From the QGIS side, generating tasks would be a matter of connecting to the cluster and executing a function:</div>

<div><br></div><div>    from IPython.parallel import Client</div><div>    c = Client()</div><div><br></div><div>    c.apply_sync(&lt;some function&gt;)</div><div><br></div><div>IPython will handle all the pickling details for you.</div>

<div><br></div><div><br></div><div>-Charlie</div></div>