code: def display_html_dataframe(
      df: pd.DataFrame, internal_df: pd.DataFrame, header: str
  ):
      if not ipython_available():
          print(header)
          print(internal_df)
          return
  
      from IPython.display import HTML, display
  
      table_tsv = urllib.parse.quote(
          internal_df.to_csv(index=False, sep="\t"), safe=","
      )
      email_subject = "Relevant external data sources from Upgini.com"
  
      table_html = make_table(df)
  
      result_html = f"""<style>
              .upgini-df thead th {{
                  font-weight:bold;
                  text-align: center;
                  padding: 0.5em;
                  border-bottom: 2px solid black;
              }}
  
              .upgini-df tbody td {{
                  padding: 0.5em;
              }}
  
              .upgini-df tbody tr:nth-child(odd) {{
                  background-color: #ffffff;
              }}
  
              .upgini-df tbody tr:nth-child(even) {{
                  background-color: #f2f2f2;
              }}
  
              .upgini-text {{
                  text-align: left;
              }}
  
              .upgini-number {{
                  text-align: center;
              }}
          </style>
          <h2>{header}</h2>
          <div style="display:flex; flex-direction:column; align-items:flex-end; width: fit-content;">
              <div style="text-align: right">
                  <button onclick=navigator.clipboard.writeText(decodeURI('{table_tsv}'))>\U0001F4C2 Copy</button>
                  <a href='mailto:<Share with...>?subject={email_subject}&body={table_tsv}'>
                      <button>\U0001F4E8 Share</button>
                  </a>
              </div>
              {table_html}
          </div>
          """
      display(HTML(result_html))
  
file_path: upgini/src/upgini/utils/display_utils.py
imports: import base64
  import math
  import textwrap
  import urllib.parse
  import uuid
  from datetime import datetime, timezone
  from io import BytesIO
  from typing import Callable, List, Optional
  import pandas
  from xhtml2pdf import pisa
label_desc: Use image node_id 4 for calling a global function with example usage: display_html_dataframe(df, internal_df, header) without return types