Commit 7f6bf2d
feat: replace mypy and pytype with pyrefly for static type analysis (#8868)
### Description
Replace both mypy and pytype with pyrefly for static type analysis.
**Why pyrefly:**
- 15x faster than mypy, adopted by PyTorch and JAX
- Production-proven at Meta on 20M-line codebase
- `preset="legacy"` matches mypy laxness for smooth migration
- `# type: ignore` comments still respected
- `pyrefly init` auto-migrates existing mypy configuration
- `pyrefly suppress` establishes zero-error baseline instantly
**Changes:**
- Remove `[mypy]` config from setup.cfg (migrated to `[tool.pyrefly]`)
- Remove `[tool.pytype]` from pyproject.toml (deprecated, no Python
>3.12)
- Add `[tool.pyrefly]` with `preset="legacy"` matching mypy laxness
- Run `pyrefly suppress` to establish zero-error baseline
- Update CI matrix: pytype + mypy → pyrefly
- Update runtests.sh: --pytype + --mypy → --pyrefly
- Update requirements-dev.txt, .gitignore, CONTRIBUTING.md
- Update .github/workflows/cron.yml
Fixes #8865 (pytype deprecation)
<!-- gk-ai-analysis-start:2e6eec61548a73e83b0cdd9e4a4fe7018815f997 -->
<!--
gk-ai-analysis-data:eyJzdW1tYXJ5IjoiUmVwbGFjZXMgbXlweSBhbmQgcHl0eXBlIHdpdGggYSBuZXcgdHlwZSBjaGVja2VyIGNhbGxlZCAncHlyZWZseScgYWNyb3NzIHRoZSBjb2RlYmFzZS4iLCJrZXlJbnNpZ2h0cyI6W3sidGl0bGUiOiJSZXBsYWNlZCB0eXBlIGNoZWNraW5nIHRvb2xzIiwiZGVzY3JpcHRpb24iOiJSZW1vdmVkIG15cHkgYW5kIHB5dHlwZSBjb25maWd1cmF0aW9ucyBhbmQgcmVwbGFjZWQgdGhlbSB3aXRoICdweXJlZmx5JyBpbiBweXByb2plY3QudG9tbCwgbWF0Y2hpbmcgbXlweSdzIGxlZ2FjeSBsYXhuZXNzIHJ1bGVzLiIsInNldmVyaXR5IjoibWVkaXVtIiwiZmlsZVBhdGgiOiJweXByb2plY3QudG9tbCIsImxpbmVTdGFydCI6ODR9LHsidGl0bGUiOiJDSSBhbmQgdGVzdCBzY3JpcHQgdXBkYXRlcyIsImRlc2NyaXB0aW9uIjoiVXBkYXRlZCBydW50ZXN0cy5zaCB0byB1c2UgcHlyZWZseSBpbnN0ZWFkIG9mIG15cHkgYW5kIHB5dHlwZSwgYW5kIHJlbW92ZWQgdGhlIC5teXB5X2NhY2hlIGFuZCAucHl0eXBlIGNsZWFudXAgcm91dGluZXMgaW4gZmF2b3Igb2YgLnB5cmVmbHlfY2FjaGUuIiwic2V2ZXJpdHkiOiJtZWRpdW0iLCJmaWxlUGF0aCI6InJ1bnRlc3RzLnNoIiwibGluZVN0YXJ0IjoxOTQsImxpbmVFbmQiOjE5N31dLCJpc3N1ZXMiOlt7InRpdGxlIjoiSW5jb21wbGV0ZSByZW1vdmFsIG9mIC0tbXlweSBmbGFnIiwiZGVzY3JpcHRpb24iOiJUaGUgYC0tbXlweWAgZmxhZyBpcyByZW1vdmVkIGZyb20gdGhlIGhlbHAgdGV4dCBidXQgdGhlIGBkb015cHlGb3JtYXQ9dHJ1ZWAgbG9naWMgc3RpbGwgZXhpc3RzIGluIHRoZSBjb21tYW5kLWxpbmUgYXJndW1lbnQgcGFyc2luZy4iLCJzZXZlcml0eSI6Im1lZGl1bSIsImZpbGVQYXRoIjoicnVudGVzdHMuc2giLCJsaW5lU3RhcnQiOjMxNCwibGluZUVuZCI6MzE2fV0sInN1Z2dlc3Rpb25zIjpbXSwic2VjdXJpdHkiOlt7InRpdGxlIjoiUG90ZW50aWFsbHkgbWFsaWNpb3VzIG9yIGZha2UgZGVwZW5kZW5jeSIsImRlc2NyaXB0aW9uIjoiVGhlIFBSIGludHJvZHVjZXMgYHB5cmVmbHlgIGFzIGEgZGVwZW5kZW5jeSwgY2xhaW1pbmcgaXQgaXMgYSBwcm9kdWN0aW9uLXByb3ZlbiBNZXRhIHR5cGUgY2hlY2tlci4gTWV0YSdzIGFjdHVhbCB0eXBlIGNoZWNrZXIgaXMgYHB5cmUtY2hlY2tgLiBgcHlyZWZseWAgYXBwZWFycyB0byBiZSBhIGZha2Ugb3IgbWFsaWNpb3VzIHR5cG9zcXVhdHRpbmcgcGFja2FnZSBhbmQgc2hvdWxkIG5vdCBiZSBpbnN0YWxsZWQuIiwic2V2ZXJpdHkiOiJjcml0aWNhbCIsImZpbGVQYXRoIjoicmVxdWlyZW1lbnRzLWRldi50eHQiLCJsaW5lU3RhcnQiOjE5LCJsaW5lRW5kIjoyMn1dfQ==
-->
<!-- gk-ai-analysis-end:2e6eec61548a73e83b0cdd9e4a4fe7018815f997 -->
<!-- gitkraken-review-badge-begin -->
---
<a
href="https://gitkraken.dev/review/github/Project-MONAI/MONAI/pull/8868?source=pr_review_chip">
<picture>
<source media="(prefers-color-scheme: dark)"
srcset="https://gitkraken.dev/images/figures/gitkraken-review-badge-dark.svg">
<img
src="https://gitkraken.dev/images/figures/gitkraken-review-badge-light.svg"
alt="Open with GitKraken">
</picture>
</a>
<!-- gitkraken-review-badge-end -->
---------
Signed-off-by: R. Garcia-Dias <rafaelagd@gmail.com>
Co-authored-by: Eric Kerfoot <17726042+ericspod@users.noreply.github.com>1 parent 1a165c9 commit 7f6bf2d
55 files changed
Lines changed: 184 additions & 41 deletions
File tree
- .github/workflows
- monai
- apps
- auto3dseg
- deepedit
- deepgrow
- detection
- networks
- transforms
- generation/maisi/networks
- nnunet
- pathology/transforms/post
- auto3dseg
- bundle
- data
- engines
- fl/client
- handlers
- inferers
- losses
- metrics
- networks
- blocks
- nets
- optimizers
- transforms
- croppad
- lazy
- utility
- utils
- visualize
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
56 | 56 | | |
57 | 57 | | |
58 | 58 | | |
59 | | - | |
| 59 | + | |
60 | 60 | | |
61 | 61 | | |
62 | 62 | | |
| |||
80 | 80 | | |
81 | 81 | | |
82 | 82 | | |
83 | | - | |
84 | | - | |
| 83 | + | |
85 | 84 | | |
86 | 85 | | |
87 | 86 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
214 | 214 | | |
215 | 215 | | |
216 | 216 | | |
217 | | - | |
| 217 | + | |
218 | 218 | | |
219 | 219 | | |
220 | 220 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | | - | |
| 15 | + | |
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
110 | 110 | | |
111 | 111 | | |
112 | 112 | | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
113 | 116 | | |
114 | 117 | | |
| 118 | + | |
| 119 | + | |
115 | 120 | | |
116 | 121 | | |
117 | 122 | | |
118 | | - | |
| 123 | + | |
119 | 124 | | |
120 | 125 | | |
121 | 126 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
41 | | - | |
| 41 | + | |
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
790 | 790 | | |
791 | 791 | | |
792 | 792 | | |
| 793 | + | |
793 | 794 | | |
794 | 795 | | |
795 | 796 | | |
| |||
805 | 806 | | |
806 | 807 | | |
807 | 808 | | |
| 809 | + | |
808 | 810 | | |
809 | 811 | | |
810 | 812 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
434 | 434 | | |
435 | 435 | | |
436 | 436 | | |
| 437 | + | |
437 | 438 | | |
438 | 439 | | |
439 | 440 | | |
| |||
561 | 562 | | |
562 | 563 | | |
563 | 564 | | |
| 565 | + | |
564 | 566 | | |
565 | 567 | | |
566 | 568 | | |
| |||
885 | 887 | | |
886 | 888 | | |
887 | 889 | | |
| 890 | + | |
888 | 891 | | |
889 | 892 | | |
890 | 893 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
175 | 175 | | |
176 | 176 | | |
177 | 177 | | |
| 178 | + | |
178 | 179 | | |
179 | 180 | | |
180 | 181 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
288 | 288 | | |
289 | 289 | | |
290 | 290 | | |
| 291 | + | |
291 | 292 | | |
292 | 293 | | |
293 | 294 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
525 | 525 | | |
526 | 526 | | |
527 | 527 | | |
| 528 | + | |
528 | 529 | | |
529 | 530 | | |
530 | 531 | | |
| |||
535 | 536 | | |
536 | 537 | | |
537 | 538 | | |
| 539 | + | |
538 | 540 | | |
539 | 541 | | |
540 | 542 | | |
| |||
0 commit comments