Open srittau opened 5 months ago
I think it might still be nice to have some support for stricter type checker configs on a per distribution basis on the CI side, but I agree that the current solution for detecting completeness is insufficient.
It has kind of bothered me for a while now, that there's no way to e.g. enforce mypy --strict
for a third party stub, even if you use those flags locally for initial development, regressions become inevitable since the stricter checks will not be enforced by the CI.
For some time now we've used pyright's stricter configuration to prevent code quality regressions. Unless a stubs package is mentioned in the config file, it's expected to have annotations for all its fields. While this has served us well for a while, it has become unsuitable since the introduction of
_typeshed.Incomplete
:Incomplete
annotation is equivalent (for our purposes) to an unannotated item.Incomplete
.To improve the situation, I propose to move to a custom solution:
incomplete
marker toMETADATA.toml
(defaulting tofalse
).Incomplete
) fields. Alternatively, we could add a disabled-by-default check to flake8-pyi and use that instead.(See also https://alexwaygood.github.io/typeshed-stats/.)