[IPython-dev] migration issues, embedding latest IPython in another application

Thomas Kluyver takowl at gmail.com
Wed Aug 15 15:13:17 EDT 2012

Hi Matt,

On 15 August 2012 18:15, Matt Anderson <manderso at broadcom.com> wrote:
> To remedy, should the implementation of this function call InteractiveShellEmbed.instance() instead of InteractiveShellEmbed()?

Looking at the code for embed(), it has these three lines:

    global _embedded_shell
    if _embedded_shell is None:
        _embedded_shell = InteractiveShellEmbed(**kwargs)

So it's effectively implementing a singleton pattern itself. It looks
to me like it would make more sense to use the .instance() API that's
used elsewhere in the code, but I'm not familiar with the reason it
was originally done a different way.

I think Fernando might be most familiar with that bit of the code.
He's very busy at the moment, so it might be a few days before he can
chime in.


More information about the IPython-dev mailing list