class_docstr: The ``ExternalRegistry`` is a ``FlashRegistry`` that can point to an external provider via a getter function.
  
  Args:
      getter: A function whose first argument is a key that can optionally take additional args and kwargs.
      providers: The provider(/s) of entries in this registry.
class_docstr_tok: ["The","``","ExternalRegistry","``","is","a","``","FlashRegistry","``","that","can","point","to","an","external","provider","via","a","getter","function",".","Args",":","getter",":","A","function","whose","first","argument","is","a","key","that","can","optionally","take","additional","args","and","kwargs",".","providers",":","The","provider","(","\/s",")","of","entries","in","this","registry","."]
docstr: Returns a partial of the getter with the first argument as the given key and wrapped to print the
  providers.
docstr_tok: ["Returns","a","partial","of","the","getter","with","the","first","argument","as","the","given","key","and","wrapped","to","print","the","providers","."]
code: def get(
      self,
      key: str,
      with_metadata: bool = False,
      strict: bool = True,
      **metadata,
  ) -> Union[
      Callable,
      _REGISTERED_FUNCTION,
      List[_REGISTERED_FUNCTION],
      List[Callable],
  ]:
      """Returns a partial of the getter with the first argument as the given key and wrapped to print the
      providers."""
      fn = functools.partial(self.getter, key)
      if self.providers is not None:
          fn = print_provider_info(key, self.providers, fn)
  
      if not with_metadata:
          return fn
      return {"fn": fn, "metadata": self.metadata}
  
imports: import functools
  import inspect
  import itertools
  from typing import Any, Callable, Dict, List, Optional, Union
  from pytorch_lightning.utilities import rank_zero_info
  from flash.core.utilities.providers import Provider
label_desc: Use image node_id 3 for calling the ExternalRegistry obj's underlying member method code with example usage: obj.get(key, with_metadata, strict) and returns: dict, fn