class_docstr: Base class that exposes functionality for module/package finders
class_docstr_tok: ["Base","class","that","exposes","functionality","for","module\/package","finders"]
docstr: Return a list of all Python items (packages or modules, depending on
  the finder implementation) found within directory 'where'.
  
  'where' is the root directory which will be searched.
  It should be supplied as a "cross-platform" (i.e. URL-style) path;
  it will be converted to the appropriate local path syntax.
  
  'exclude' is a sequence of names to exclude; '*' can be used
  as a wildcard in the names.
  When finding packages, 'foo.*' will exclude all subpackages of 'foo'
  (but not 'foo' itself).
  
  'include' is a sequence of names to include.
  If it's specified, only the named items will be included.
  If it's not specified, all found items will be included.
  'include' can contain shell style wildcard patterns just like
  'exclude'.
code: def find(
      cls,
      where: _Path = ".",
      exclude: Iterable[str] = (),
      include: Iterable[str] = ("*",),
  ) -> List[str]:
      """Return a list of all Python items (packages or modules, depending on
      the finder implementation) found within directory 'where'.
  
      'where' is the root directory which will be searched.
      It should be supplied as a "cross-platform" (i.e. URL-style) path;
      it will be converted to the appropriate local path syntax.
  
      'exclude' is a sequence of names to exclude; '*' can be used
      as a wildcard in the names.
      When finding packages, 'foo.*' will exclude all subpackages of 'foo'
      (but not 'foo' itself).
  
      'include' is a sequence of names to include.
      If it's specified, only the named items will be included.
      If it's not specified, all found items will be included.
      'include' can contain shell style wildcard patterns just like
      'exclude'.
      """
  
      exclude = exclude or cls.DEFAULT_EXCLUDE
      return list(
          cls._find_iter(
              convert_path(str(where)),
              _Filter(*cls.ALWAYS_EXCLUDE, *exclude),
              _Filter(*include),
          )
      )
  
imports: import itertools
  import os
  from fnmatch import fnmatchcase
  from glob import glob
  from pathlib import Path
  from typing import TYPE_CHECKING, Dict, Iterable, Iterator, List, Mapping, Optional, Tuple, Union
  import _distutils_hack.override
  from distutils import log
  from distutils.util import convert_path
label_desc: Use image node_id 1 for calling the _Finder obj's underlying member method code with example usage: obj.find(cls, where, exclude, include) and returns: list