code: def select_items_from_schema(schema, props=None):
      """Return iterator  (prop, schema.item, required) on prop, return all in None"""
      properties = schema.get("properties", {})
      required = schema.get("required", [])
      if not props:
          for prop, item in properties.items():
              yield prop, item, prop in required
      else:
          for prop in props:
              try:
                  yield prop, properties[prop], prop in required
              except KeyError as err:
                  raise Exception(
                      f"Can't find property: {prop}"
                  ) from err
  
imports: import importlib
  import re
  import sys
  import warnings
  from os.path import abspath, dirname
  from docutils import nodes, utils, frontend
  from docutils.parsers.rst import Directive
  from docutils.parsers.rst.directives import flag
  from myst_parser.docutils_ import Parser
  from sphinx import addnodes
  from tools.schemapi.utils import fix_docstring_issues, SchemaInfo
label_desc: Use image node_id 7 for calling a global function with example usage: select_items_from_schema(schema, props) without return types