class_docstr: Metaclass for IssueManager that adds issue_score_key to the class.
  
  :meta private:
class_docstr_tok: ["Metaclass","for","IssueManager","that","adds","issue_score_key","to","the","class",".",":","meta","private",":"]
code: def __new__(
      meta: Type[TM],
      name: str,
      bases: Tuple[Type[Any], ...],
      class_dict: Dict[str, Any],
  ) -> TM:  # Classes that inherit from ABC don't need to be modified
      if ABC in bases:
          return super().__new__(meta, name, bases, class_dict)
  
      # Ensure that the verbosity levels don't have keys other than those in ["issue", "info"]
      verbosity_levels = class_dict.get(
          "verbosity_levels", meta.verbosity_levels
      )
      for level, level_list in verbosity_levels.items():
          if not isinstance(level_list, list):
              raise ValueError(
                  f"Verbosity levels must be lists. "
                  f"Got {level_list} in {name}.verbosity_levels"
              )
          prohibited_keys = [
              key for key in level_list if not isinstance(key, str)
          ]
          if prohibited_keys:
              raise ValueError(
                  f"Verbosity levels must be lists of strings. "
                  f"Got {prohibited_keys} in {name}.verbosity_levels[{level}]"
              )
  
      # Concrete classes need to have an issue_name attribute
      if "issue_name" not in class_dict:
          raise TypeError(
              "IssueManagers need an issue_name class variable"
          )
  
      # Add issue_score_key to class
      class_dict[
          "issue_score_key"
      ] = f"{class_dict['issue_name']}_score"
      return super().__new__(meta, name, bases, class_dict)
  
file_path: cleanlab/cleanlab/datalab/internal/issue_manager/issue_manager.py
imports: from __future__ import annotations
  from abc import ABC, ABCMeta, abstractmethod
  from itertools import chain
  from typing import TYPE_CHECKING, Any, ClassVar, Dict, List, Optional, Set, Tuple, Type, TypeVar
  import json
  import numpy
  import pandas
label_desc: Use image node_id 1 for calling the IssueManagerMeta obj's underlying member method code with example usage: obj.__new__(meta, name, bases, class_dict) and returns: super, super