class_docstr: A project specification loaded from an MLproject file in the passed-in directory.
class_docstr_tok: ["A","project","specification","loaded","from","an","MLproject","file","in","the","passed-in","directory","."]
code: def get_entry_point(self, entry_point):
      if entry_point in self._entry_points:
          return self._entry_points[entry_point]
      _, file_extension = os.path.splitext(entry_point)
      ext_to_cmd = {
          ".py": "python",
          ".sh": os.environ.get("SHELL", "bash"),
      }
      if file_extension in ext_to_cmd:
          command = f"{ext_to_cmd[file_extension]} {quote(entry_point)}"
          if not is_string_type(command):
              command = command.encode("utf-8")
          return EntryPoint(
              name=entry_point, parameters={}, command=command
          )
      elif file_extension == ".R":
          command = f"Rscript -e \"mlflow::mlflow_source('{quote(entry_point)}')\" --args"
          return EntryPoint(
              name=entry_point, parameters={}, command=command
          )
      raise ExecutionException(
          "Could not find {0} among entry points {1} or interpret {0} as a "
          "runnable script. Supported script file extensions: "
          "{2}".format(
              entry_point,
              list(self._entry_points.keys()),
              list(ext_to_cmd.keys()),
          )
      )
  
imports: import os
  import yaml
  from mlflow.exceptions import ExecutionException
  from mlflow.projects import env_type
  from mlflow.tracking import artifact_utils
  from mlflow.utils import data_utils
  from mlflow.utils.environment import _PYTHON_ENV_FILE_NAME
  from mlflow.utils.file_utils import get_local_path_or_none
  from mlflow.utils.string_utils import is_string_type, quote
label_desc: Use image node_id 2 for calling the Project obj's underlying member method code with example usage: obj.get_entry_point(entry_point) and returns: self, EntryPoint, EntryPoint