class_docstr: Creates string representations of objects useful for logging / snapshots.
class_docstr_tok: ["Creates","string","representations","of","objects","useful","for","logging","\/","snapshots","."]
docstr: See mf_pformat() for argument descriptions.
docstr_tok: ["See","mf_pformat","(",")","for","argument","descriptions","."]
code: def __init__(
      self,
      indent_prefix: str,
      max_line_length: int,
      include_object_field_names: bool,
      include_none_object_fields: bool,
      include_empty_object_fields: bool,
  ) -> None:
      """See mf_pformat() for argument descriptions."""
      self._indent_prefix = indent_prefix
      if max_line_length <= 0:
          raise ValueError(
              f"max_line_length must be > 0 as required by pprint.pformat(). Got {max_line_length}"
          )
      self._max_line_width = max_line_length
      self._include_object_field_names = include_object_field_names
      self._include_none_object_fields = include_none_object_fields
      self._include_empty_object_fields = include_empty_object_fields
  
file_path: metricflow/metricflow/mf_logging/pretty_print.py
imports: from __future__ import annotations
  import logging
  import pprint
  from collections.abc import Mapping
  from dataclasses import fields, is_dataclass
  from enum import Enum
  from typing import Any, Dict, List, Optional, Sized, Union
  from pydantic import BaseModel
  from metricflow.mf_logging.formatting import indent
label_desc: Use image node_id 1 to create a new MetricFlowPrettyFormatter object  with example: obj = MetricFlowPrettyFormatter(indent_prefix, max_line_length, include_object_field_names, include_none_object_fields, include_empty_object_fields)