code: def _build_part(item, sep_boundary):
      key, values = item
      title = '\nContent-Disposition: form-data; name="%s"' % key
      # handle multiple entries for the same name
      if not isinstance(values, list):
          values = [values]
      for value in values:
          if isinstance(value, tuple):
              title += '; filename="%s"' % value[0]
              value = value[1]
          else:
              value = _encode(value)
          yield sep_boundary
          yield _encode(title)
          yield b"\n\n"
          yield value
          if value and value[-1:] == b"\r":
              yield b"\n"
  
imports: from base64 import standard_b64encode
  from distutils import log
  from distutils.errors import DistutilsOptionError
  import os
  import zipfile
  import tempfile
  import shutil
  import itertools
  import functools
  import http.client
  import urllib.parse
  from .._importlib import metadata
  from ..warnings import SetuptoolsDeprecationWarning
  from .upload import upload
label_desc: Use image node_id 6 for calling the upload_docs obj's underlying member method code with example usage: obj._build_part(item, sep_boundary) without return types