|
|
#!/usr/bin/env python
|
|
|
# encoding: utf-8
|
|
|
"""
|
|
|
Oh my @#*%, where did ipapi go?
|
|
|
|
|
|
Originally, this module was designed to be a public api for IPython. It is
|
|
|
now deprecated and replaced by :class:`IPython.core.Interactive` shell.
|
|
|
Almost all of the methods that were here are now there, but possibly renamed.
|
|
|
|
|
|
During our transition, we will keep this simple module with its :func:`get`
|
|
|
function. It too will eventually go away when the new component querying
|
|
|
interface is fully used.
|
|
|
|
|
|
Authors:
|
|
|
|
|
|
* Brian Granger
|
|
|
"""
|
|
|
|
|
|
#-----------------------------------------------------------------------------
|
|
|
# Copyright (C) 2008-2009 The IPython Development Team
|
|
|
#
|
|
|
# Distributed under the terms of the BSD License. The full license is in
|
|
|
# the file COPYING, distributed as part of this software.
|
|
|
#-----------------------------------------------------------------------------
|
|
|
|
|
|
#-----------------------------------------------------------------------------
|
|
|
# Imports
|
|
|
#-----------------------------------------------------------------------------
|
|
|
|
|
|
from IPython.core.error import TryNext, UsageError
|
|
|
from IPython.core.component import Component
|
|
|
from warnings import warn
|
|
|
|
|
|
#-----------------------------------------------------------------------------
|
|
|
# Classes and functions
|
|
|
#-----------------------------------------------------------------------------
|
|
|
|
|
|
msg = """
|
|
|
This module (IPython.core.ipapi) is being deprecated. For now, all we
|
|
|
offer here is the ``get`` function for getting the most recently created
|
|
|
InteractiveShell instance."""
|
|
|
|
|
|
warn(msg, category=DeprecationWarning, stacklevel=1)
|
|
|
|
|
|
|
|
|
def get():
|
|
|
"""Get the most recently created InteractiveShell instance."""
|
|
|
insts = Component.get_instances(name='__IP')
|
|
|
most_recent = insts[0]
|
|
|
for inst in insts[1:]:
|
|
|
if inst.created > most_recent.created:
|
|
|
most_recent = inst
|
|
|
return most_recent.getapi()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|