docs: def filter_name(funcname, package, context="decorate", explicit=False):
      """Returns True if the specified function should be filtered (i.e., included
      or excluded for use in the specified context.)
  
      Args: 
          funcname (str): name of the method/function being called.
          package (str): name of the package that the method belongs to.
          context (str): one of ['decorate', 'time', 'analyze']; specifies which
            section of the configuration settings to check.
          explicit (bool): when True, if a name is not explicitly specified for
            inclusion, then the function returns False.
  
      Returns:
          bool: specifying whether the function should be decorated, timed or
            analyzed.
      """
      packfilter = _get_name_filter(package, context)
      if packfilter is None:
          # By default, if there are no rules specified, then we include
          # everything.
          return True
  
      # First we handle the `fnmatch` filters. If something is explicitly included
      # that takes precedence over the ignore filters.
      matched = None
      if packfilter["filters"] is not None:
          from fnmatch import fnmatch
          for pattern in packfilter["filters"]:
              if fnmatch(funcname, pattern):
                  matched = True
                  return matched
  
      #We don't have any use cases yet for regex filters.
      if packfilter["rfilters"] is not None: # pragma: no cover
          for pattern in packfilter["rfilters"]:
              if pattern.match(funcname):
                  matched = True
                  return matched
  
      if packfilter["ignores"] is not None:
          from fnmatch import fnmatch
          for pattern in packfilter["ignores"]:
              if fnmatch(funcname, pattern):
                  matched = False
                  return matched
  
      if packfilter["rignores"] is not None: # pragma: no cover
          for pattern in packfilter["rignores"]:
              if pattern.match(funcname):
                  matched = False
                  return matched
  
      if matched is None:
          matched = not explicit
              
      return matched