code: def parse_version(package):
      
      from os.path import dirname, join, exists
      import ast
  
      # Check if the package is a single-file or multi-file package
      _candiates = [
          join(dirname(__file__), package + '.py'),
          join(dirname(__file__), package, '__init__.py'),
      ]
      _found = [init_fpath for init_fpath in _candiates if exists(init_fpath)]
      if len(_found) > 0:
          init_fpath = _found[0]
      elif len(_found) > 1:
          raise Exception('parse_version found multiple init files')
      elif len(_found) == 0:
          raise Exception('Cannot find package init file')
  
      with open(init_fpath, 'r') as file_:
          sourcecode = file_.read()
      pt = ast.parse(sourcecode)
      class VersionVisitor(ast.NodeVisitor):
          def visit_Assign(self, node):
              for target in node.targets:
                  if getattr(target, 'id', None) == '__version__':
                      self.version = node.value.s
      visitor = VersionVisitor()
      visitor.visit(pt)
      return visitor.version
docs: Statically parse the version number from __init__.py
  
      CommandLine:
          python -c "import setup; print(setup.parse_version('ubelt'))"