code: def grain_funcs(opts, proxy=None):
      '''
      Returns the grain functions
  
        .. code-block:: python
  
            import salt.config
            import salt.loader
  
            __opts__ = salt.config.minion_config('/etc/salt/minion')
            grainfuncs = salt.loader.grain_funcs(__opts__)
      '''
      ret = LazyLoader(
          _module_dirs(
              opts,
              'grains',
              'grain',
              ext_type_dirs='grains_dirs',
          ),
          opts,
          tag='grains',
      )
      ret.pack['__utils__'] = utils(opts, proxy=proxy)
      return ref grain_funcs(opts, proxy=None):
      '''
      Returns the grain functions
  
        .. code-block:: python
  
            import salt.config
            import salt.loader
  
            __opts__ = salt.config.minion_config('/etc/salt/minion')
            grainfuncs = salt.loader.grain_funcs(__opts__)
      '''
      ret = LazyLoader(
          _module_dirs(
              opts,
              'grains',
              'grain',
              ext_type_dirs='grains_dirs',
          ),
          opts,
          tag='grains',
      )
      ret.pack['__utils__'] = utils(opts, proxy=proxy)
      return ret
docs: Returns the grain functions
  
        .. code-block:: python
  
            import salt.config
            import salt.loader
  
            __opts__ = salt.config.minion_config('/etc/salt/minion')
            grainfuncs = salt.loader.grain_funcs(__opts__)