<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div><br></div><div>Thanks, that clears a few things up.</div><div><br></div><div>Suppose I only need one kernel, and I don't need interruption or restartability. Do you think it would be easy enough to change the code so that it avoids the fork/exec and stays in-process? That way, I could fire up a Python interpreter on a background thread, run the IPython kernel in that environment, and the Python code running in that kernel would then have full access to the host app's Objective-C object graph through the Obj-C &lt;-&gt; Python bridge. That is what I'm after.</div><div><br></div><div>I am trying to figure out if it would be possible to make some kind of IPython Notebook-based debugging console for a Cocoa app. Such a console would be a very convenient and powerful way to inspect a Cocoa app at runtime. I should mention that this is unrelated to the IPython Notebook Mac that I am working on, this is just an idea for some other (Cocoa) projects, where IPython would be used just for its nice user interface, but would be an auxiliary thing to the app's main purpose.</div><div><br></div><div><br></div><div><br></div><br><div><div>On Mar 19, 2013, at 9:33 AM, MinRK &lt;<a href="mailto:benjaminrk@gmail.com">benjaminrk@gmail.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><br><br><div class="gmail_quote">On Mon, Mar 18, 2013 at 10:29 PM, Marc Liyanage<span class="Apple-converted-space">&nbsp;</span><span dir="ltr">&lt;<a href="mailto:marc@entropy.ch" target="_blank">marc@entropy.ch</a>&gt;</span><span class="Apple-converted-space">&nbsp;</span>wrote:<br><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex;"><div class="HOEnZb"><div class="h5"><br>When I launch IPython notebook, a new process is launched for the kernel. I was wondering if it's possible to prevent that and instead run the kernel in a new thread of the same process. I can use the C API and instantiate multiple Python environments if that helps.<br><br>There are two reasons why I'd like to avoid forking:<br><br>1.) On OS X, the process gets killed if it is already multithreaded, and for a GUI app that's always the case<br>2.) I'd like to use the Objective-C bridge and let the Python code access Obj-C objects in the same process<br></div></div></blockquote><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex;"><div class="HOEnZb"><div class="h5"><br>Is this possible, or is IPython fundamentally based on fork/exec?<br></div></div></blockquote><div><br></div><div>You would definitely need to start a new Python, because there can only be one Kernel in a given Python environment. &nbsp;I've never thought about multiple Pythons in a single process - you would definitely have problems when users interrupt or restart kernels, since that's based on process signals.</div><div><br></div><div>My guess is that this is probably not going to work without significant restructuring of IPython, which is unlikely to happen.</div><div>&nbsp;</div><blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex;"><div class="HOEnZb"><div class="h5"><br><br>_______________________________________________<br>IPython-User mailing list<br><a href="mailto:IPython-User@scipy.org">IPython-User@scipy.org</a><br><a href="http://mail.scipy.org/mailman/listinfo/ipython-user" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-user</a><br></div></div></blockquote></div><br>_______________________________________________<br>IPython-User mailing list<br><a href="mailto:IPython-User@scipy.org">IPython-User@scipy.org</a><br><a href="http://mail.scipy.org/mailman/listinfo/ipython-user">http://mail.scipy.org/mailman/listinfo/ipython-user</a></div></blockquote></div><br></body></html>