You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/topics/05_type-checking.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -37,7 +37,7 @@ We evaluated the primary static type checkers for Python:
37
37
-**Performance:** Moderate. Can be slow on larger codebases or initial runs. Caching helps, but still generally slower than [:term:`Pyright`](pyright-documentation). Impacts fast feedback loops.
38
38
-**OS Interoperability:** Excellent. Pure Python package, works reliably across OSs.
39
39
-**Integration:** Excellent. Widely supported, integrates well into editors (though real-time performance is a factor), [:term:`pre-commit`](pre-commit-documentation) (official hook exists but can be slow), Task Automation, CI/CD.
40
-
-**Support for Stubs:** Excellent. Deep integration with [:term:`typeshed`](python:typeshed) and the stub ecosystem.
40
+
-**Support for Stubs:** Excellent. Deep integration with [:term:`typeshed`](typeshed-documentation) and the stub ecosystem.
41
41
-**Error Messages:** High. Generally clear, but can be verbose or challenging in complex cases.
42
42
-**Maturity & Stability:** Very High. Extremely mature, stable, long-standing.
43
43
-**Community & Documentation:** Very High. Large, active community, extensive documentation and resources.
@@ -52,7 +52,7 @@ We evaluated the primary static type checkers for Python:
52
52
-**Performance:** Excellent. **Significantly faster** than [:term:`Mypy`](mypy-documentation). Designed for fast incremental checks and overall lower analysis time. Much more practical for real-time editor feedback, fast pre-commit runs, and quicker CI.
53
53
-**OS Interoperability:** High. Works on major OSs. Relies on Node.js runtime internally (often bundled in distributions), making installation/setup slightly more complex than pure Python tools, but seamless for users of common distributions (like `npm` or bundled wheels/binaries).
54
54
-**Integration:** Excellent. Strong CLI (`pyright`). Integrates exceptionally well with editors (real-time analysis via Language Server Protocol), well-suited for fast [:term:`pre-commit`](pre-commit-documentation) hooks (better performance than [:term:`Mypy`](mypy-documentation)), Task Automation, CI/CD.
55
-
-**Support for Stubs:** Excellent. Works effectively with [:term:`typeshed`](python:typeshed) and other stub sources.
55
+
-**Support for Stubs:** Excellent. Works effectively with [:term:`typeshed`](typeshed-documentation) and other stub sources.
56
56
-**Error Messages:** Very High. Generally very clear, precise, and actionable messages.
57
57
-**Maturity & Stability:** High. Mature, actively developed by Microsoft. Large user base, especially via [:term:`Pylance`](pyright-documentation - part of Pyright documentation). Stable for production use.
58
58
-**Community & Documentation:** High. Strong community (especially VS Code users), extensive documentation (though sometimes focused on [:term:`Pylance`](pyright-documentation - part of Pyright documentation)).
@@ -67,7 +67,7 @@ We evaluated the primary static type checkers for Python:
67
67
-**Performance:** Moderate. Can be faster than [:term:`Mypy`](mypy-documentation) on initial runs for some codebases due to backend, but not typically as fast as [:term:`Pyright`](pyright-documentation) for incremental checks.
68
68
-**OS Interoperability:** Excellent. Pure Python package, works reliably across OSs.
69
69
-**Integration:** High. CLI tool for Task Automation and CI. Less common for real-time editor feedback or fast pre-commit due to performance and focus.
70
-
-**Support for Stubs:** Very High. Deep integration with [:term:`typeshed`](python:typeshed) and excels at type inference.
70
+
-**Support for Stubs:** Very High. Deep integration with [:term:`typeshed`](typeshed-documentation) and excels at type inference.
71
71
-**Error Messages:** Moderate to High. Can be less precise in inference scenarios.
72
72
-**Maturity & Stability:** High. Mature, actively developed at Google. Community outside Google is smaller than [:term:`Mypy`](mypy-documentation) or [:term:`Pyright`](pyright-documentation).
73
73
-**Conclusion:** Best suited for gradually adding typing to unannotated codebases. For a template that _mandates_ or strongly encourages type hints, its core strength (inference) is less relevant, and its performance and strictness on explicit hints are not better than [:term:`Mypy`](mypy-documentation) or [:term:`Pyright`](pyright-documentation).
0 commit comments