python (3.11.7)

(root)/
lib/
python3.11/
site-packages/
pip/
_internal/
operations/
build/
wheel.py
       1  import logging
       2  import os
       3  from typing import Optional
       4  
       5  from pip._vendor.pyproject_hooks import BuildBackendHookCaller
       6  
       7  from pip._internal.utils.subprocess import runner_with_spinner_message
       8  
       9  logger = logging.getLogger(__name__)
      10  
      11  
      12  def build_wheel_pep517(
      13      name: str,
      14      backend: BuildBackendHookCaller,
      15      metadata_directory: str,
      16      tempd: str,
      17  ) -> Optional[str]:
      18      """Build one InstallRequirement using the PEP 517 build process.
      19  
      20      Returns path to wheel if successfully built. Otherwise, returns None.
      21      """
      22      assert metadata_directory is not None
      23      try:
      24          logger.debug("Destination directory: %s", tempd)
      25  
      26          runner = runner_with_spinner_message(
      27              f"Building wheel for {name} (pyproject.toml)"
      28          )
      29          with backend.subprocess_runner(runner):
      30              wheel_name = backend.build_wheel(
      31                  tempd,
      32                  metadata_directory=metadata_directory,
      33              )
      34      except Exception:
      35          logger.error("Failed building wheel for %s", name)
      36          return None
      37      return os.path.join(tempd, wheel_name)