From c3fe9b151aa9949fef50c11d7db9b3ab388f7a58 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Mon, 31 Mar 2025 12:44:08 -0400 Subject: [PATCH 1/2] chore: use subprocess.run instead of old check_* Signed-off-by: Henry Schreiner --- src/pyproject_hooks/_impl.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/pyproject_hooks/_impl.py b/src/pyproject_hooks/_impl.py index d1e9d7b..db6019e 100644 --- a/src/pyproject_hooks/_impl.py +++ b/src/pyproject_hooks/_impl.py @@ -2,10 +2,10 @@ import os import sys import tempfile +import subprocess from contextlib import contextmanager from os.path import abspath from os.path import join as pjoin -from subprocess import STDOUT, check_call, check_output from typing import TYPE_CHECKING, Any, Iterator, Mapping, Optional, Sequence from ._in_process import _in_proc_script_path @@ -74,13 +74,13 @@ def default_subprocess_runner( ) -> None: """The default method of calling the wrapper subprocess. - This uses :func:`subprocess.check_call` under the hood. + This uses :func:`subprocess.run` under the hood. """ env = os.environ.copy() if extra_environ: env.update(extra_environ) - check_call(cmd, cwd=cwd, env=env) + subprocess.run(cmd, cwd=cwd, env=env, check=True) def quiet_subprocess_runner( @@ -90,13 +90,21 @@ def quiet_subprocess_runner( ) -> None: """Call the subprocess while suppressing output. - This uses :func:`subprocess.check_output` under the hood. + This uses :func:`subprocess.run` with `PIPE` under the hood. """ env = os.environ.copy() if extra_environ: env.update(extra_environ) - check_output(cmd, cwd=cwd, env=env, stderr=STDOUT) + subprocess.run( + cmd, + cwd=cwd, + env=env, + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT, + check=True, + text=True, + ) def norm_and_check(source_tree: str, requested: str) -> str: From f5d67519be351252f2a53a26834eea51e8e0a4c3 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Wed, 16 Apr 2025 00:52:33 -0400 Subject: [PATCH 2/2] Apply suggestions from code review Co-authored-by: Pradyun Gedam --- src/pyproject_hooks/_impl.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/pyproject_hooks/_impl.py b/src/pyproject_hooks/_impl.py index a6e50c6..e789d53 100644 --- a/src/pyproject_hooks/_impl.py +++ b/src/pyproject_hooks/_impl.py @@ -95,7 +95,7 @@ def quiet_subprocess_runner( ) -> None: """Call the subprocess while suppressing output. - This uses :func:`subprocess.run` with `PIPE` under the hood. + This uses :func:`subprocess.run` with `stdout=PIPE, stderr=STDOUT` under the hood. """ env = os.environ.copy() if extra_environ: @@ -108,7 +108,6 @@ def quiet_subprocess_runner( stdout=subprocess.PIPE, stderr=subprocess.STDOUT, check=True, - text=True, )