class_docstr: Parse a qualified name into different parts.
  
  e.g. listing__ds__week ->
  entity_links: ["listing"]
  element_name: "ds"
  granularity: TimeGranularity.WEEK
class_docstr_tok: ["Parse","a","qualified","name","into","different","parts",".","e.g",".","listing__ds__week","-",">","entity_links",":","[","``","listing","''","]","element_name",":","``","ds","''","granularity",":","TimeGranularity.WEEK"]
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}"
  
file_path: metricflow/metricflow/naming/linkable_spec_name.py
imports: from __future__ import annotations
  import logging
  from dataclasses import dataclass
  from typing import Optional, Tuple
  from dbt_semantic_interfaces.type_enums.date_part import DatePart
  from dbt_semantic_interfaces.type_enums.time_granularity import TimeGranularity
label_desc: Use image node_id 4 for calling the StructuredLinkableSpecName obj's underlying member method code with example usage: obj.date_part_suffix(date_part) and returns: str, date_part