@@ -108,6 +108,7 @@ test = [
108108 { include-group = " extra" },
109109]
110110typing = [
111+ " colorama" ,
111112 " importlib-metadata >= 5.1" ,
112113 " tomli" ,
113114 " typing-extensions >= 4.0.0" ,
@@ -116,8 +117,8 @@ typing = [
116117 { include-group = " test-core" },
117118 { include-group = " extra" },
118119]
119- mypy = [
120- " mypy ~= 2.3.0 " ,
120+ pyrefly = [
121+ " pyrefly >= 1.2 " ,
121122 { include-group = " typing" },
122123]
123124release = [
@@ -130,7 +131,7 @@ release = [
130131dev = [
131132 " flit-core" ,
132133 { include-group = " test" },
133- { include-group = " mypy " },
134+ { include-group = " pyrefly " },
134135]
135136
136137[tool .flit .sdist ]
@@ -191,38 +192,19 @@ filterwarnings = [
191192 " ignore:os.path.commonprefix:DeprecationWarning" # https://github.com/pypa/pyproject-hooks/pull/222
192193]
193194
194- [tool .mypy ]
195- files = [" src" , " tests" , " tasks" , " docs" ]
196- exclude = [" tests/packages" ]
197- python_version = " 3.10"
198- native_parser = true
199- strict = true
200- disallow_any_explicit = true
201- disallow_any_decorated = true
202- disallow_any_unimported = true
203- disallow_untyped_globals = true
204- disallow_redefinition = true
205- warn_unused_configs = true
206- warn_unreachable = true
207- enable_error_code = [
208- " deprecated" ,
209- " exhaustive-match" ,
210- " ignore-without-code" ,
211- " mutable-override" ,
212- " possibly-undefined" ,
213- " redundant-expr" ,
214- " redundant-self" ,
215- " truthy-bool" ,
216- " truthy-iterable" ,
217- " unimported-reveal" ,
218- " unused-awaitable" ,
219- ]
220-
221- [[tool .mypy .overrides ]]
222- module = [
223- " virtualenv" , # Optional dependency
224- ]
225- ignore_missing_imports = true
195+ [tool .pyrefly ]
196+ project-includes = [" src" , " tests" , " tasks" , " docs" ]
197+ project-excludes = [" **/tests/packages*" ]
198+ search-path = [" src" , " tests" ]
199+ python-version = " 3.10"
200+ preset = " all"
201+
202+ [tool .pyrefly .errors ]
203+ # `@override` needs typing_extensions before 3.12; build takes no runtime deps for typing
204+ missing-override-decorator = false
205+ # These style rules reject intentional truthiness checks and side-effect calls throughout the project.
206+ implicit-bool = false
207+ unused-call-result = false
226208
227209[tool .ruff ]
228210exclude = [
0 commit comments