code: def prep_ray_ml():
      root_dir = _get_root_dir()
  
      requirements_files = [
          "python/requirements.txt",
          "python/requirements_compiled.txt",
      ]
      ml_requirements_files = [
          "python/requirements/docker/ray-docker-requirements.txt",
          "python/requirements/ml/core-requirements.txt",
          "python/requirements/ml/data-requirements.txt",
          "python/requirements/ml/dl-gpu-requirements.txt",
          "python/requirements/ml/dl-cpu-requirements.txt",
          "python/requirements/ml/tune-requirements.txt",
          "python/requirements/ml/tune-test-requirements.txt",
          "python/requirements/ml/rllib-requirements.txt",
          "python/requirements/ml/rllib-test-requirements.txt",
          "python/requirements/ml/train-requirements.txt",
          "python/requirements/ml/train-test-requirements.txt",
      ]
      # We don't need these in the ml docker image (or they are installed elsewhere)
      ignore_requirements = [
          "python/requirements/compat/requirements_legacy_compat.txt",
          "python/requirements/ml/data-test-requirements.txt",
      ]
  
      files_on_disk = glob.glob(
          f"{root_dir}/python/**/*-requirements.txt", recursive=True
      )
      for file_on_disk in files_on_disk:
          rel = os.path.relpath(file_on_disk, start=root_dir)
          print(rel)
          if not rel.startswith("python/requirements/ml"):
              continue
          elif (
              rel not in ml_requirements_files
              and rel not in ignore_requirements
          ):
              raise RuntimeError(
                  f"A new requirements file was found in the repository, but it has "
                  f"not been added to `build-docker-images.py` "
                  f"(and the `ray-ml/Dockerfile`): {rel}"
              )
  
      for requirement_file in (
          requirements_files + ml_requirements_files
      ):
          shutil.copy(
              os.path.join(root_dir, requirement_file),
              os.path.join(root_dir, "docker/ray-ml/"),
          )
  
imports: import datetime
  import io
  import json
  import functools
  import glob
  import itertools
  import os
  import platform
  import shutil
  import subprocess
  import sys
  import tarfile
  from collections import defaultdict
  from pathlib import Path
  from typing import List, Optional, Tuple, Dict
  import click
  import docker
label_desc: Use image node_id 20 for calling a global function with example usage: prep_ray_ml() without return types