class_docstr: Helper methods for Kubeflow Handler.
class_docstr_tok: ["Helper","methods","for","Kubeflow","Handler","."]
docstr: Prints runs in a tabular format with headers mentioned below.
docstr_tok: ["Prints","runs","in","a","tabular","format","with","headers","mentioned","below","."]
code: def _print_runs(self, pipeline_name, runs):
      """Prints runs in a tabular format with headers mentioned below."""
      headers = [
          "pipeline_name",
          "run_id",
          "status",
          "created_at",
          "link",
      ]
  
      def _get_run_details(run_id):
          """Return the link to the run detail page."""
          return "{prefix}/#/runs/details/{run_id}".format(
              prefix=self._client._get_url_prefix(), run_id=run_id
          )  # pylint: disable=protected-access
  
      data = [
          [  # pylint: disable=g-complex-comprehension
              pipeline_name,
              run.id,
              run.status,
              run.created_at.isoformat(),
              _get_run_details(run.id),
          ]
          for run in runs
      ]
      click.echo(self._format_table(headers, data))
  
imports: import functools
  import os
  import sys
  import time
  from typing import Any, Dict, Optional
  import click
  import kfp
  from tfx.orchestration.kubeflow import kubeflow_dag_runner
  from tfx.tools.cli import labels
  from tfx.tools.cli.container_builder import builder
  from tfx.tools.cli.handler import base_handler
  from tfx.tools.cli.handler import kubeflow_dag_runner_patcher
label_desc: Use image node_id 19 for calling the KubeflowHandler obj's underlying member method code with example usage: obj._print_runs(pipeline_name, runs) and returns: str