class_docstr: Sources to extract TFDV data for a model card.
  
  Provide exactly one of `dataset_statistics_paths` or
  `example_statistics_artifacts`.
  
  Attributes:
    dataset_statistics_paths: The paths to the output from TensorFlow Data
      Validation or TFX ExampleValidator.
    example_statistics_artifacts: The MLMD artifact from TensorFlow Data
      Validation or TFX ExampleValidator.
    features_include: The feature paths to include from the dataset statistics.
      By default, all features are included. Mutually exclusive with
      features_exclude.
    features_exclude: The feature paths to exclude from the dataset statistics.
      By default, all features are included. Mutually exclusive with
      features_include.
code: def __post_init__(self):
      if (
          self.dataset_statistics_paths
          and not self.example_statistics_artifacts
      ):
          pass
      elif (
          self.example_statistics_artifacts
          and not self.dataset_statistics_paths
      ):
          self.dataset_statistics_paths = [
              artifact.uri
              for artifact in self.example_statistics_artifacts
          ]
      else:
          raise ValueError(
              "TfdvSource needs exactly one of dataset_statistics_paths or "
              "example_statistics_artifacts"
          )
  
      if self.features_include and self.features_exclude:
          raise ValueError(
              "Only one of TfdvSource.features_include and "
              "TfdvSource.features_exclude should be set."
          )
  
file_path: model-card-toolkit/model_card_toolkit/utils/tf_sources.py
imports: import dataclasses
  from typing import List, Optional
  import ml_metadata
  from ml_metadata.proto import metadata_store_pb2
label_desc: Use image node_id 1 for calling the TfdvSource obj's underlying member method code with example usage: obj.__post_init__() without return types