code: def update_doc(file, data):
      replace_text_between(
          file=file,
          start=" .. Beginning of auto-generated table\n",
          end=" .. End of auto-generated table\n",
          replacement_text="\n"
          + tabulate(
              headers={
                  "revision": "Revision ID",
                  "down_revision": "Revises ID",
                  "version": "Airflow Version",
                  "description": "Description",
              },
              tabular_data=data,
              tablefmt="grid",
              stralign="left",
              disable_numparse=True,
          )
          + "\n\n",
      )
  
imports: from __future__ import annotations
  import os
  import re
  import textwrap
  from pathlib import Path
  from typing import TYPE_CHECKING, Iterable
  from alembic.script import ScriptDirectory
  from rich.console import Console
  from tabulate import tabulate
  from airflow import __version__
  from airflow.utils.db import _get_alembic_config
label_desc: Use image node_id 3 for calling a global function with example usage: update_doc(file, data) without return types