code: def get_init(self, filename="__init__.py"):
          
          import ast
  
          with open(filename) as init_file:
              module = ast.parse(init_file.read())
  
          itr = lambda x: (ast.literal_eval(node.value) for node in ast.walk(module) \
              if isinstance(node, ast.Assign) and node.targets[0].id == x)
  
          try:
              return next(itr("__author__")), \
                     next(itr("__email__")), \
                     next(itr("__license__")), \
                     next(itr("__version__"))
          except StopIteration:
              raise ValueError("One of author, email, license, or version"
                          " cannot be found in {}".format(filename))
docs: Get various info from the package without importing them