class_docstr: A naming scheme using the dundered name syntax.
  
  TODO: Consolidate with StructuredLinkableSpecName / DunderedNameFormatter.
class_docstr_tok: ["A","naming","scheme","using","the","dundered","name","syntax",".","TODO",":","Consolidate","with","StructuredLinkableSpecName","\/","DunderedNameFormatter","."]
docstr: Suffix used for names with a date_part.
docstr_tok: ["Suffix","used","for","names","with","a","date_part","."]
code: def date_part_suffix(date_part: DatePart) -> str:
      """Suffix used for names with a date_part."""
      return f"extract_{date_part.value}"
  
imports: from __future__ import annotations
  import re
  from typing import Optional, Sequence, Tuple
  from dbt_semantic_interfaces.naming.keywords import DUNDER
  from dbt_semantic_interfaces.references import EntityReference
  from dbt_semantic_interfaces.type_enums import TimeGranularity
  from dbt_semantic_interfaces.type_enums.date_part import DatePart
  from typing_extensions import override
  from metricflow.naming.naming_scheme import QueryItemNamingScheme
  from metricflow.specs.patterns.entity_link_pattern import EntityLinkPattern, EntityLinkPatternParameterSet, ParameterSetField
  from metricflow.specs.specs import InstanceSpec, InstanceSpecSet, InstanceSpecSetTransform
label_desc: Use image node_id 1 for calling the DunderNamingScheme obj's underlying member method code with example usage: obj.date_part_suffix(date_part) and returns: str, date_part