Skip to content

Commit d30380d

Browse files
committed
Tighten type annotations to remove str-based commands
1 parent 9f6af77 commit d30380d

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

pytensor/link/c/cmodule.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2105,7 +2105,7 @@ def compile_args(march_flags=True):
21052105
)
21062106
detect_march = False
21072107

2108-
def get_lines(cmd: list[str] | str, parse: bool = True) -> list[str] | None:
2108+
def get_lines(cmd: list[str], parse: bool = True) -> list[str] | None:
21092109
p = subprocess_Popen(
21102110
cmd,
21112111
stdout=subprocess.PIPE,

pytensor/utils.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ def maybe_add_to_os_environ_pathlist(var: str, newpath: Path | str) -> None:
123123
pass
124124

125125

126-
def subprocess_Popen(command: str | list[str], **params):
126+
def subprocess_Popen(command: list[str], **params) -> subprocess.Popen:
127127
"""
128128
Utility function to work around windows behavior that open windows.
129129
@@ -147,7 +147,7 @@ def subprocess_Popen(command: str | list[str], **params):
147147
return subprocess.Popen(command, startupinfo=startupinfo, **params)
148148

149149

150-
def call_subprocess_Popen(command, **params):
150+
def call_subprocess_Popen(command: list[str], **params) -> int:
151151
"""
152152
Calls subprocess_Popen and discards the output, returning only the
153153
exit code.
@@ -165,13 +165,15 @@ def call_subprocess_Popen(command, **params):
165165
return returncode
166166

167167

168-
def output_subprocess_Popen(command, **params):
168+
def output_subprocess_Popen(command: list[str], **params) -> tuple[bytes, bytes, int]:
169169
"""
170170
Calls subprocess_Popen, returning the output, error and exit code
171171
in a tuple.
172172
"""
173173
if "stdout" in params or "stderr" in params:
174174
raise TypeError("don't use stderr or stdout with output_subprocess_Popen")
175+
if "encoding" in params:
176+
raise TypeError("adjust the output_subprocess_Popen type annotation to support str")
175177
params["stdout"] = subprocess.PIPE
176178
params["stderr"] = subprocess.PIPE
177179
p = subprocess_Popen(command, **params)

0 commit comments

Comments
 (0)