"""\
NumPy
==========

You can support the development of NumPy and SciPy by purchasing
extended documentation at

  http://www.trelgol.com

It is being distributed for a fee for a limited time to try and raise
money for development.

Documentation is also available in the docstrings.

"""

try:
    from __config__ import show as show_config
except ImportError:
    show_config = None

if show_config is None:
    import sys as _sys
    print >> _sys.stderr, 'Running from numpy source directory.'
    del _sys
else:
    from version import version as __version__

    import os as _os
    NUMPY_IMPORT_VERBOSE = int(_os.environ.get('NUMPY_IMPORT_VERBOSE','0'))
    del _os
    from _import_tools import PackageLoader
    pkgload = PackageLoader()
    pkgload('testing','core','lib','linalg','dft','random','f2py',
            verbose=NUMPY_IMPORT_VERBOSE,postpone=False)
        
    if __doc__ is not None:
        __doc__ += """

Available subpackages
---------------------
"""
    if __doc__ is not None:
        __doc__ += pkgload.get_pkgdocs()

    def test(level=1, verbosity=1):
        return NumpyTest().test(level, verbosity)
    test.__doc__ = NumpyTest.test.__doc__

    import add_newdocs

    if __doc__ is not None:
        __doc__ += """

Utility tools
-------------

  test        --- Run numpy unittests
  pkgload     --- Load numpy packages
  show_config --- Show numpy build configuration
  dual        --- Overwrite certain functions with high-performance Scipy tools
  __version__ --- Numpy version string

Environment variables
---------------------

  NUMPY_IMPORT_VERBOSE --- pkgload verbose flag, default is 0.
"""

"""\
NumPy
==========

You can support the development of NumPy and SciPy by purchasing
"Guide to NumPy" at

  http://www.trelgol.com

It is being distributed for a fee for only a limited time to
cover some of the costs of development.

Documentation is also available in the docstrings and at

http://www.scipy.org.
"""

try:
    from __config__ import show as show_config
except ImportError:
    show_config = None

if show_config is None:
    import sys as _sys
    print >> _sys.stderr, 'Running from numpy source directory.'
    del _sys
else:
    from version import version as __version__

    from _import_tools import PackageLoader
    pkgload = PackageLoader()

    import testing
    from testing import ScipyTest, NumpyTest
    import core
    from core import *
    import lib
    from lib import *
    import linalg
    import dft
    import random

    __all__ = ['__version__', 'pkgload', 'PackageLoader',
               'ScipyTest', 'NumpyTest', 'show_config']
    __all__ += core.__all__
    __all__ += lib.__all__
    __all__ += ['linalg', 'dft', 'random']
        
    if __doc__ is not None:
        __doc__ += """

Available subpackages
---------------------
core      --- Defines a multi-dimensional array and useful procedures
              for Numerical computation.
lib       --- Basic functions used by several sub-packages and useful
              to have in the main name-space.
random    --- Core Random Tools
linalg    --- Core Linear Algebra Tools
dft       --- Core FFT routines
testing   --- Scipy testing tools

  These packages require explicit import
f2py      --- Fortran to Python Interface Generator. 
distutils --- Enhancements to distutils with support for 
              Fortran compilers support and more. 


Global symbols from subpackages
-------------------------------
core    --> *
lib     --> *
testing --> ScipyTest, NumpyTest
"""

    def test(level=1, verbosity=1):
        return NumpyTest().test(level, verbosity)
    test.__doc__ = NumpyTest.test.__doc__

    import add_newdocs

    __all__.extend(['add_newdocs','test'])

    if __doc__ is not None:
        __doc__ += """

Utility tools
-------------

  test        --- Run numpy unittests
  pkgload     --- Load numpy packages
  show_config --- Show numpy build configuration
  dual        --- Overwrite certain functions with high-performance Scipy tools
  matlib      --- Make everything matrices.
  __version__ --- Numpy version string
"""

Add explicit imports patch in #193