code: def get_min_numba_numpy_version(min_python):
      """
      Find the minimum versions of Numba and NumPy that supports the specified
      `min_python` version
      """
      df = (
          pd.read_html(
              "https://numba.readthedocs.io/en/stable/user/installing.html#version-support-information"  # noqa
          )[0]
          .dropna()
          .drop(columns=["Numba.1", "llvmlite", "LLVM", "TBB"])
          .query('`Python`.str.contains("2.7") == False')
          .query('`Numba`.str.contains(".x") == False')
          .query('`Numba`.str.contains("{") == False')
          .pipe(
              lambda df: df.assign(
                  MIN_PYTHON_SPEC=(
                      df.Python.str.split()
                      .str[1]
                      .replace({"<": ">"}, regex=True)
                      + df.Python.str.split()
                      .str[0]
                      .replace({".x": ""}, regex=True)
                  ).apply(SpecifierSet)
              )
          )
          .pipe(
              lambda df: df.assign(
                  MAX_PYTHON_SPEC=(
                      df.Python.str.split()
                      .str[3]
                      .replace({">": "<"}, regex=True)
                      + df.Python.str.split()
                      .str[4]
                      .replace({".x": ""}, regex=True)
                  ).apply(SpecifierSet)
              )
          )
          .pipe(
              lambda df: df.assign(
                  MIN_NUMPY=(
                      df.NumPy.str.split()
                      .str[0]
                      .replace({".x": ""}, regex=True)
                  )
              )
          )
          .assign(
              COMPATIBLE=lambda row: row.apply(
                  check_python_compatibility,
                  axis=1,
                  args=(Version(min_python),),
              )
          )
          .query("COMPATIBLE == True")
          .pipe(
              lambda df: df.assign(MINOR=df.Numba.str.split(".").str[1])
          )
          .pipe(
              lambda df: df.assign(PATCH=df.Numba.str.split(".").str[2])
          )
          .sort_values(["MINOR", "PATCH"], ascending=[False, True])
          .iloc[-1]
      )
      return df.Numba, df.MIN_NUMPY
  
file_path: stumpy/min.py
imports: import argparse
  import pandas
  from packaging.specifiers import SpecifierSet
  from packaging.version import Version
label_desc: Use image node_id 2 for calling a global function with example usage: get_min_numba_numpy_version(min_python) and returns: df,  df