code: def models(
      type: Optional[str] = None,
      internal: bool = False,
      raise_errors: bool = True,
  ) -> pd.DataFrame:
      """
      Returns table of models available in the model library.
  
      Example
      -------
      >>> from pycaret.datasets import get_data
      >>> boston = get_data('boston')
      >>> from pycaret.regression import *
      >>> exp_name = setup(data = boston,  target = 'medv')
      >>> all_models = models()
  
  
      type: str, default = None
          - linear : filters and only return linear models
          - tree : filters and only return tree based models
          - ensemble : filters and only return ensemble models
  
  
      internal: bool, default = False
          When True, will return extra columns and rows used internally.
  
  
      raise_errors: bool, default = True
          When False, will suppress all exceptions, ignoring models
          that couldn't be created.
  
  
      Returns:
          pandas.DataFrame
  
      """
  
      return _CURRENT_EXPERIMENT.models(
          type=type, internal=internal, raise_errors=raise_errors
      )
  
imports: import logging
  import os
  from typing import Any, BinaryIO, Callable, Dict, List, Optional, Union
  import pandas
  from joblib.memory import Memory
  from pycaret.internal.parallel.parallel_backend import ParallelBackend
  from pycaret.loggers.base_logger import BaseLogger
  from pycaret.regression.oop import RegressionExperiment
  from pycaret.utils.constants import DATAFRAME_LIKE, SEQUENCE_LIKE, TARGET_LIKE
  from pycaret.utils.generic import check_if_global_is_not_none
label_desc: Use image node_id 20 for calling a global function with example usage: models(type, internal, raise_errors) and returns: _CURRENT_EXPERIMENT