class_docstr: Enhanced 'build_py' command that includes data files with packages
  
  The data files are specified via a 'package_data' argument to 'setup()'.
  See 'setuptools.dist.Distribution' for more details.
  
  Also, this version of the 'build_py' command allows you to specify both
  'py_modules' and 'packages' in the same setup operation.
class_docstr_tok: ["Enhanced","'build_py","'","command","that","includes","data","files","with","packages","The","data","files","are","specified","via","a","'package_data","'","argument","to","'setup","(",")","'",".","See","'setuptools.dist.Distribution","'","for","more","details",".","Also",",","this","version","of","the","'build_py","'","command","allows","you","to","specify","both","'py_modules","'","and","'packages","'","in","the","same","setup","operation","."]
docstr: Return filenames for package's data files in 'src_dir'
docstr_tok: ["Return","filenames","for","package","'s","data","files","in","'src_dir","'"]
code: def find_data_files(self, package, src_dir):
      """Return filenames for package's data files in 'src_dir'"""
      patterns = self._get_platform_patterns(
          self.package_data,
          package,
          src_dir,
          extra_patterns=_IMPLICIT_DATA_FILES,
      )
      globs_expanded = map(partial(glob, recursive=True), patterns)
      # flatten the expanded globs into an iterable of matches
      globs_matches = itertools.chain.from_iterable(globs_expanded)
      glob_files = filter(os.path.isfile, globs_matches)
      files = itertools.chain(
          self.manifest_files.get(package, []),
          glob_files,
      )
      return self.exclude_data_files(package, src_dir, files)
  
imports: from functools import partial
  from glob import glob
  from distutils.util import convert_path
  import distutils.command.build_py
  import os
  import fnmatch
  import textwrap
  import distutils.errors
  import itertools
  import stat
  from pathlib import Path
  from typing import Dict, Iterable, Iterator, List, Optional, Tuple
  from ..extern.more_itertools import unique_everseen
  from ..warnings import SetuptoolsDeprecationWarning
label_desc: Use image node_id 9 for calling the build_py obj's underlying member method code with example usage: obj.find_data_files(package, src_dir) and returns: self