]> jfr.im git - dlqueue.git/blob - venv/lib/python3.11/site-packages/pip/_internal/operations/build/wheel.py
init: venv aand flask
[dlqueue.git] / venv / 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)