class_docstr: Fill-in metadata and options that can be automatically derived
  (from other metadata/options, the file system or conventions)
class_docstr_tok: ["Fill-in","metadata","and","options","that","can","be","automatically","derived","(","from","other","metadata\/options",",","the","file","system","or","conventions",")"]
code: def _ensure_no_accidental_inclusion(
      self, detected: List[str], kind: str
  ):
      if len(detected) > 1:
          from inspect import cleandoc
  
          from setuptools.errors import PackageDiscoveryError
  
          msg = f"""Multiple top-level {kind} discovered in a flat-layout: {detected}.
  
              To avoid accidental inclusion of unwanted files or directories,
              setuptools will not proceed with this build.
  
              If you are trying to create a single distribution with multiple {kind}
              on purpose, you should not rely on automatic discovery.
              Instead, consider the following options:
  
              1. set up custom discovery (`find` directive with `include` or `exclude`)
              2. use a `src-layout`
              3. explicitly set `py_modules` or `packages` with a list of names
  
              To find more information, look for "package discovery" on setuptools docs.
              """
          raise PackageDiscoveryError(cleandoc(msg))
  
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 14 for calling the ConfigDiscovery obj's underlying member method code with example usage: obj._ensure_no_accidental_inclusion(detected, kind) without return types