code: def _get_indent(docstring: str) -> int:
      """
      Example:
          >>> def f():
          ...     '''Docstring summary.'''
          >>> f.__doc__
          'Docstring summary.'
          >>> _get_indent(f.__doc__)
          0
          >>> def g(foo):
          ...     '''Docstring summary.
          ...
          ...     Args:
          ...         foo: Does bar.
          ...     '''
          >>> g.__doc__
          'Docstring summary.\\n\\n    Args:\\n        foo: Does bar.\\n    '
          >>> _get_indent(g.__doc__)
          4
          >>> class A:
          ...     def h():
          ...         '''Docstring summary.
          ...
          ...         Returns:
          ...             None.
          ...         '''
          >>> A.h.__doc__
          'Docstring summary.\\n\\n        Returns:\\n            None.\\n        '
          >>> _get_indent(A.h.__doc__)
          8
      """
      if not docstring:
          return 0
  
      non_empty_lines = list(filter(bool, docstring.splitlines()))
      if len(non_empty_lines) == 1:
          # Docstring contains summary only.
          return 0
  
      # The docstring summary isn't indented, so check the indentation of the second non-empty line.
      return len(non_empty_lines[1]) - len(non_empty_lines[1].lstrip())
  
file_path: ludwig/ludwig/api_annotations.py
imports: from typing import Optional
label_desc: Use image node_id 7 for calling a global function with example usage: _get_indent(docstring) and returns: unknown, int, int