code: def make_pysrc_wheel(
      release: str,
      rc: Optional[str],
      rc_ver: Optional[int],
      outdir: str,
  ) -> None:
      """Make Python source distribution."""
      dist = os.path.abspath(
          os.path.normpath(os.path.join(outdir, "dist"))
      )
      if not os.path.exists(dist):
          os.mkdir(dist)
  
      with DirectoryExcursion(os.path.join(ROOT, "python-package")):
          subprocess.check_call(["python", "-m", "build", "--sdist"])
          if rc is not None:
              name = f"xgboost-{release}{rc}{rc_ver}.tar.gz"
          else:
              name = f"xgboost-{release}.tar.gz"
          src = os.path.join(DIST, name)
          subprocess.check_call(["twine", "check", src])
          target = os.path.join(dist, name)
          shutil.move(src, target)
  
imports: import argparse
  import os
  import shutil
  import subprocess
  import tarfile
  import tempfile
  from pathlib import Path
  from typing import Any, Dict, List, Optional, Tuple, Union
  from urllib.request import urlretrieve
  import tqdm
  from packaging import version
  from sh.contrib import git
label_desc: Use image node_id 5 for calling a global function with example usage: make_pysrc_wheel(release, rc, rc_ver, outdir) without return types