docs: def info_installed(*names, **kwargs):
      '''
      Return the information of the named package(s) installed on the system.
  
      .. versionadded:: 2015.8.1
  
      names
          The names of the packages for which to return information.
  
      failhard
          Whether to throw an exception if none of the packages are installed.
          Defaults to True.
  
          .. versionadded:: 2016.11.3
  
      attr
          Comma-separated package attributes. If no 'attr' is specified, all available attributes returned.
  
          Valid attributes are:
              version, vendor, release, build_date, build_date_time_t, install_date, install_date_time_t,
              build_host, group, source_rpm, arch, epoch, size, license, signature, packager, url, summary, description.
  
          .. versionadded:: Neon
  
      CLI example:
  
      .. code-block:: bash
  
          salt '*' pkg.info_installed <package1>
          salt '*' pkg.info_installed <package1> <package2> <package3> ...
          salt '*' pkg.info_installed <package1> failhard=false
      '''
      kwargs = salt.utils.args.clean_kwargs(**kwargs)
      failhard = kwargs.pop('failhard', True)
      kwargs.pop('errors', None)                # Only for compatibility with RPM
      attr = kwargs.pop('attr', None)           # Package attributes to return
      all_versions = kwargs.pop('all_versions', False)  # This is for backward compatible structure only
  
      if kwargs:
          salt.utils.args.invalid_kwargs(kwargs)
  
      ret = dict()
      for pkg_name, pkg_nfo in __salt__['lowpkg.info'](*names, failhard=failhard, attr=attr).items():
          t_nfo = dict()
          if pkg_nfo.get('status', 'ii')[1] != 'i':
              continue    # return only packages that are really installed
          # Translate dpkg-specific keys to a common structure
          for key, value in pkg_nfo.items():
              if key == 'package':
                  t_nfo['name'] = value
              elif key == 'origin':
                  t_nfo['vendor'] = value
              elif key == 'section':
                  t_nfo['group'] = value
              elif key == 'maintainer':
                  t_nfo['packager'] = value
              elif key == 'homepage':
                  t_nfo['url'] = value
              elif key == 'status':
                  continue    # only installed pkgs are returned, no need for status
              else:
                  t_nfo[key] = value
  
          if all_versions:
              ret.setdefault(pkg_name, []).append(t_nfo)
          else:
              ret[pkg_name] = t_nfo
  
      return ret