class_docstr: A helper metaclass to ensure container classes (e.g. CallbackList) have
  implemented all the callback methods (e.g. `on_*`).
class_docstr_tok: ["A","helper","metaclass","to","ensure","container","classes","(","e.g",".","CallbackList",")","have","implemented","all","the","callback","methods","(","e.g",".","`","on_","*","`",")","."]
code: def check(
      mcs,
      cls: type,
      name: str,
      bases: Tuple[type],
      attrs: Dict[str, Any],
  ) -> None:
      methods = set()
      for base in bases:
          methods.update(
              attr_name
              for attr_name, attr in vars(base).items()
              if mcs.need_override_by_subclass(attr_name, attr)
          )
      overridden = {
          attr_name
          for attr_name, attr in attrs.items()
          if mcs.need_override_by_subclass(attr_name, attr)
      }
      missing = methods.difference(overridden)
      if missing:
          raise TypeError(
              f"Found missing callback method: {missing} "
              f"in class {cls.__module__}.{cls.__qualname__}."
          )
  
imports: from abc import ABCMeta
  import glob
  import os
  from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple
  import warnings
  from ray.util.annotations import PublicAPI, DeveloperAPI
  from ray.tune.utils.util import _atomic_save, _load_newest_checkpoint
label_desc: Use image node_id 3 for calling the _CallbackMeta obj's underlying member method code with example usage: obj.check(mcs, cls, name, bases, attrs) without return types