ipapi.py
58 lines
| 1.7 KiB
| text/x-python
|
PythonLexer
Brian Granger
|
r2205 | #!/usr/bin/env python | ||
# encoding: utf-8 | ||||
""" | ||||
Oh my @#*%, where did ipapi go? | ||||
ville
|
r988 | |||
Brian Granger
|
r2205 | 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. | ||||
ville
|
r988 | |||
Brian Granger
|
r2205 | 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. | ||||
ville
|
r988 | |||
Brian Granger
|
r2205 | Authors: | ||
ville
|
r988 | |||
Brian Granger
|
r2205 | * Brian Granger | ||
Fernando Perez
|
r1414 | """ | ||
#----------------------------------------------------------------------------- | ||||
Brian Granger
|
r2205 | # 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. | ||||
Fernando Perez
|
r1414 | #----------------------------------------------------------------------------- | ||
ville
|
r988 | |||
Brian Granger
|
r2205 | #----------------------------------------------------------------------------- | ||
# Imports | ||||
#----------------------------------------------------------------------------- | ||||
Robert Kern
|
r1419 | |||
Brian Granger
|
r2205 | from IPython.core.error import TryNext, UsageError | ||
Robert Kern
|
r1419 | |||
Brian Granger
|
r2205 | #----------------------------------------------------------------------------- | ||
# Classes and functions | ||||
#----------------------------------------------------------------------------- | ||||
Robert Kern
|
r1419 | |||
Brian Granger
|
r2205 | def get(): | ||
"""Get the most recently created InteractiveShell instance.""" | ||||
Brian Granger
|
r2226 | from IPython.core.iplib import InteractiveShell | ||
Brian Granger
|
r2224 | insts = InteractiveShell.get_instances() | ||
Brian Granger
|
r2205 | most_recent = insts[0] | ||
for inst in insts[1:]: | ||||
if inst.created > most_recent.created: | ||||
most_recent = inst | ||||
Brian Granger
|
r2206 | return most_recent | ||
def launch_new_instance(): | ||||
"""Create a run a full blown IPython instance""" | ||||
from IPython.core.ipapp import IPythonApp | ||||
app = IPythonApp() | ||||
app.start() | ||||
Robert Kern
|
r1419 | |||
ville
|
r988 | |||