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.
docstr: yield platform-specific path patterns (suitable for glob
  or fn_match) from a glob-based spec (such as
  self.package_data or self.exclude_package_data)
  matching package in src_dir.
docstr_tok: ["yield","platform-specific","path","patterns","(","suitable","for","glob","or","fn_match",")","from","a","glob-based","spec","(","such","as","self.package_data","or","self.exclude_package_data",")","matching","package","in","src_dir","."]
code: def _get_platform_patterns(spec, package, src_dir):
      """
      yield platform-specific path patterns (suitable for glob
      or fn_match) from a glob-based spec (such as
      self.package_data or self.exclude_package_data)
      matching package in src_dir.
      """
      raw_patterns = itertools.chain(
          spec.get("", []),
          spec.get(package, []),
      )
      return (
          # Each pattern has to be converted to a platform-specific path
          os.path.join(src_dir, convert_path(pattern))
          for pattern in raw_patterns
      )
  
imports: from glob import glob
  from distutils.util import convert_path
  import distutils.command.build_py
  import os
  import fnmatch
  import textwrap
  import io
  import distutils.errors
  import itertools
  from setuptools.extern import six
  from setuptools.extern.six.moves import map, filter, filterfalse
label_desc: Use image node_id 15 for calling the build_py obj's underlying member method code with example usage: obj._get_platform_patterns(spec, package, src_dir) and returns: unknown