docs: def get_package_version(module_obj, value):
      """Get the version of a package or a module's package.
  
      :param object module_obj: The module that was imported for the consumer
      :param str value: The namespaced module path or package name
      :rtype: str or None
  
      """
      for key in ['version', '__version__']:
          if hasattr(module_obj, key):
              return getattr(module_obj, key)
      parts = value.split('.')
      for index, part in enumerate(parts):
          try:
              return pkg_resources.get_distribution(
                  '.'.join(parts[0:index + 1])).version
          except (pkg_resources.DistributionNotFound,
                  pkg_resources.RequirementParseError):
              continue