def check_module( mymodule, indent='' ):
    """
    
    Returns a string describing the version number, import path and
    other administrative information contained in a given module.
    
    :Parameters:
    
    mymodule: Python module
        The module to be checked. It must already have been imported.
        
    indent: str, optional, default=''
        A string used to pad the left side of the report for indentation
        
    :Returns:
    
    moduleinfo: str
        A string describing the module.
    
    """
    _strg = "%s%s" % (indent, repr(mymodule))
    if hasattr(mymodule, '__name__'):
        _strg += "\n%s   - name:  %s" % (indent, str(mymodule.__name__))
    if hasattr(mymodule, '__project__'):
        _strg += "\n%s   - project:  %s" % (indent, str(mymodule.__project__))
    if hasattr(mymodule, '__package__'):
        _strg += "\n%s   - package:  %s" % (indent, str(mymodule.__package__))
    if hasattr(mymodule, '__author__'):
        _strg += "\n%s   - author:  %s" % (indent, str(mymodule.__author__))
    if hasattr(mymodule, '__version__'):
        _strg += "\n%s   - version:  %s" % (indent, str(mymodule.__version__))
    if hasattr(mymodule, '__path__'):
        _strg += "\n%s   - imported from:  %s" % \
            (indent, str(mymodule.__path__))
    if hasattr(mymodule, '__file__'):
        _strg += "\n%s   - initialised from:  %s" % \
            (indent, str(mymodule.__file__))
    if hasattr(mymodule, '__all__'):
        nall = len(mymodule.__all__)
        _strg += "\n%s   - length of _all_ list: %d" % (indent, nall)
    if hasattr(mymodule, '__doc__'):
        if mymodule.__doc__ is not None:
            _strg += "\n%s   - (%d character doc string)" % \
                (indent, len(mymodule.__doc__))
        else:
            _strg += "\n%s   - (null doc string)" % indent
    else:
        _strg += "\n%s   - (no doc string)" % indent

    return _strg