Skip to content

Commit 11d6803

Browse files
committed
Make stubgen respect MYPY_CACHE_DIR
This is required when using stubgen in a parallel build system, such as GNU make.
1 parent ef3187a commit 11d6803

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

mypy/stubgen.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1575,6 +1575,13 @@ def mypy_options(stubgen_options: Options) -> MypyOptions:
15751575
options.python_version = stubgen_options.pyversion
15761576
options.show_traceback = True
15771577
options.transform_source = remove_misplaced_type_comments
1578+
1579+
# Override cache_dir if provided in the environment
1580+
environ_cache_dir = os.getenv("MYPY_CACHE_DIR", "")
1581+
if environ_cache_dir.strip():
1582+
options.cache_dir = environ_cache_dir
1583+
options.cache_dir = os.path.expanduser(options.cache_dir)
1584+
15781585
return options
15791586

15801587

@@ -1735,6 +1742,8 @@ def generate_stubs(options: Options) -> None:
17351742
manual changes. This directory is assumed to exist.
17361743
"""
17371744

1745+
FOOTER: Final = """Environment variables:
1746+
Define MYPY_CACHE_DIR to override configuration cache_dir path."""
17381747

17391748
def parse_options(args: list[str]) -> Options:
17401749
parser = argparse.ArgumentParser(prog="stubgen", usage=HEADER, description=DESCRIPTION)

0 commit comments

Comments
 (0)