class_docstr: A plugin definition.
  
  Args:
      directory: the directory containing the plugin
      metadata: a plugin metadata dict
class_docstr_tok: ["A","plugin","definition",".","Args",":","directory",":","the","directory","containing","the","plugin","metadata",":","a","plugin","metadata","dict"]
code: def _validate(self):
      missing = [
          k
          for k in self._REQUIRED_METADATA_KEYS
          if k not in self._metadata
      ]
      if missing:
          raise ValueError(
              f"Plugin metadata is missing required fields: {missing}"
          )
  
imports: import os
  import yaml
  import eta.core.serial
  import fiftyone
label_desc: Use image node_id 26 for calling the PluginDefinition obj's underlying member method code with example usage: obj._validate() without return types