MCPcopy Index your code
hub / github.com/numpy/numpy / run_pyright_with_coverage

Function run_pyright_with_coverage

tools/pyright_completeness.py:40–73  ·  view source on GitHub ↗
(
    pyright_args: list[str],
    exclude_like: Sequence[str],
)

Source from the content-addressed store, hash-verified

38
39
40def run_pyright_with_coverage(
41 pyright_args: list[str],
42 exclude_like: Sequence[str],
43) -> int:
44 result = subprocess.run(
45 ["basedpyright", *pyright_args],
46 capture_output=True,
47 text=True,
48 )
49
50 try:
51 data = json.loads(result.stdout)
52 except json.decoder.JSONDecodeError:
53 sys.stdout.write(result.stdout)
54 sys.stderr.write(result.stderr)
55 return 1
56
57 if exclude_like:
58 symbols = data["typeCompleteness"]["symbols"]
59 matched_symbols = [
60 x
61 for x in symbols
62 if not any(fnmatch.fnmatch(x["name"], pattern) for pattern in exclude_like)
63 and x["isExported"]
64 ]
65 covered = sum(x["isTypeKnown"] for x in matched_symbols) / len(matched_symbols)
66 else:
67 covered = data["typeCompleteness"]["completenessScore"]
68 sys.stderr.write(result.stderr)
69 if covered < 1:
70 sys.stdout.write(f"Coverage {covered:.1%} is below minimum required 100%\n")
71 return 1
72 sys.stdout.write("Coverage is at 100%\n")
73 return 0
74
75
76if __name__ == "__main__":

Callers 1

mainFunction · 0.85

Calls 4

anyFunction · 0.85
sumFunction · 0.85
runMethod · 0.45
writeMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…