class_docstr: MetricFlow Python client for running basic queries and other standard commands.
docstr: Retrieves a list of all common dimensions for metric_names.
  
  "simple" dimensions are the ones that people expect from a UI perspective. For example, if "ds" is a time
  dimension at a day granularity, this would not list "ds__week".
  
  Args:
      metric_names: Names of metrics to get common dimensions from.
  
  Returns:
      A list of Dimension objects containing metadata.
docstr_tok: ["Retrieves","a","list","of","all","common","dimensions","for","metric_names",".","``","simple","''","dimensions","are","the","ones","that","people","expect","from","a","UI","perspective",".","For","example",",","if","``","ds","''","is","a","time","dimension","at","a","day","granularity",",","this","would","not","list","``","ds__week","''",".","Args",":","metric_names",":","Names","of","metrics","to","get","common","dimensions","from",".","Returns",":","A","list","of","Dimension","objects","containing","metadata","."]
code: def list_dimensions(self, metric_names: List[str]) -> List[Dimension]:
      """Retrieves a list of all common dimensions for metric_names.
  
      "simple" dimensions are the ones that people expect from a UI perspective. For example, if "ds" is a time
      dimension at a day granularity, this would not list "ds__week".
  
      Args:
          metric_names: Names of metrics to get common dimensions from.
  
      Returns:
          A list of Dimension objects containing metadata.
      """
      return self.engine.simple_dimensions_for_metrics(
          metric_names=metric_names
      )
  
imports: from __future__ import annotations
  import datetime
  import logging
  from typing import Dict, List, Optional
  from dateutil.parser import parse
  from dbt_semantic_interfaces.protocols.semantic_manifest import SemanticManifest
  from dbt_semantic_interfaces.validations.semantic_manifest_validator import SemanticManifestValidator
  from dbt_semantic_interfaces.validations.validator_helpers import SemanticManifestValidationResults
  from metricflow.engine.metricflow_engine import MetricFlowEngine, MetricFlowExplainResult, MetricFlowQueryRequest, MetricFlowQueryResult
  from metricflow.engine.models import Dimension, Metric
  from metricflow.model.semantic_manifest_lookup import SemanticManifestLookup
  from metricflow.protocols.sql_client import SqlClient
  from metricflow.sql.optimizer.optimization_levels import SqlQueryOptimizationLevel
label_desc: Use image node_id 6 for calling the MetricFlowClient obj's underlying member method code with example usage: obj.list_dimensions(metric_names) and returns: self