Thanks everyone for the feedback on this thread. I've published a new version of pyright that supports a new "--verifytypes" mode. It analyzes a py.typed package, enumerates all of the symbols that comprise its "public interface" and determines which of these symbols are fully typed. In cases where a symbol is untyped or partially typed, a detailed diagnostic message is provided to help the library maintainer address the omission. It also reports the percentage of symbols that are completely typed. Here's the current "type completeness score" for several popular py.typed packages: * yarl: 100% * attrs: 100% * pyrsistent: 88% * aiohttp: 79% * packaging: 68% * pydantic: 65% * starlette: 60% * ask_sdk_core: 49% * fastapi: 45% * pytest: 43% * torch: 38% * tornado: 36% Detailed documentation can be found [here](https://github.com/microsoft/pyright/blob/master/docs/typed-libraries.md) Feedback is welcome. -Eric -- Eric Traut Contributor to Pyright and Pylance Microsoft