|
|
# -*- coding: utf-8 -*-
|
|
|
"""
|
|
|
IPython -- An enhanced Interactive Python
|
|
|
|
|
|
One of Python's nicest features is its interactive interpreter. This allows
|
|
|
very fast testing of ideas without the overhead of creating test files as is
|
|
|
typical in most programming languages. However, the interpreter supplied with
|
|
|
the standard Python distribution is fairly primitive (and IDLE isn't really
|
|
|
much better).
|
|
|
|
|
|
IPython tries to:
|
|
|
|
|
|
i - provide an efficient environment for interactive work in Python
|
|
|
programming. It tries to address what we see as shortcomings of the standard
|
|
|
Python prompt, and adds many features to make interactive work much more
|
|
|
efficient.
|
|
|
|
|
|
ii - offer a flexible framework so that it can be used as the base
|
|
|
environment for other projects and problems where Python can be the
|
|
|
underlying language. Specifically scientific environments like Mathematica,
|
|
|
IDL and Mathcad inspired its design, but similar ideas can be useful in many
|
|
|
fields. Python is a fabulous language for implementing this kind of system
|
|
|
(due to its dynamic and introspective features), and with suitable libraries
|
|
|
entire systems could be built leveraging Python's power.
|
|
|
|
|
|
iii - serve as an embeddable, ready to go interpreter for your own programs.
|
|
|
|
|
|
IPython requires Python 2.2 or newer.
|
|
|
|
|
|
$Id: __init__.py 775 2005-09-01 20:24:59Z fperez $"""
|
|
|
|
|
|
#*****************************************************************************
|
|
|
# Copyright (C) 2001-2004 Fernando Perez. <fperez@colorado.edu>
|
|
|
#
|
|
|
# Distributed under the terms of the BSD License. The full license is in
|
|
|
# the file COPYING, distributed as part of this software.
|
|
|
#*****************************************************************************
|
|
|
|
|
|
# Enforce proper version requirements
|
|
|
import sys
|
|
|
if sys.version[0:3] < '2.2':
|
|
|
raise ImportError, 'Python Version 2.2 or above is required.'
|
|
|
|
|
|
# Define what gets imported with a 'from IPython import *'
|
|
|
__all__ = ['deep_reload','genutils','ultraTB','DPyGetOpt','Itpl','hooks',
|
|
|
'ConfigLoader','OutputTrap','Release','Struct','Shell']
|
|
|
|
|
|
# Load __all__ in IPython namespace so that a simple 'import IPython' gives
|
|
|
# access to them via IPython.<name>
|
|
|
glob,loc = globals(),locals()
|
|
|
for name in __all__:
|
|
|
__import__(name,glob,loc,[])
|
|
|
|
|
|
# Release data
|
|
|
from IPython import Release # do it explicitly so pydoc can see it - pydoc bug
|
|
|
__author__ = '%s <%s>\n%s <%s>\n%s <%s>' % \
|
|
|
( Release.authors['Fernando'] + Release.authors['Janko'] + \
|
|
|
Release.authors['Nathan'] )
|
|
|
__license__ = Release.license
|
|
|
__version__ = Release.version
|
|
|
__revision__ = Release.revision
|
|
|
|
|
|
# Namespace cleanup
|
|
|
del name,glob,loc
|
|
|
|