4 ms·
pytype dev here - thanks for the kind words :) whole-program analysis on unannotated or partially-annotated code is our particular focus, but there's surprising
by zem 4y ago
pytype dev here - thanks for the kind words :) whole-program analysis on unannotated or partially-annotated code is our particular focus, but there's surprisingly little dark PLT magic involved, and you certainly don't need to be an academic type theory wizard to understand how it works. our developer docs[1] have more info, but at a high level we have an interpreter that virtually executes python bytecode, tracking types where the cpython interpreter would have tracked values.
it's worth exploring some of the other type checkers as well, since they make different tradeoffs - in particular, microsoft's pyright[2] (written in typescript!) can run incrementally within vscode, and tends to add new and experimentally proposed typing PEPs faster than we do.
[1] https://github.com/google/pytype/blob/main/docs/developers/index.md https://github.com/google/pytype/blob/main/docs/developers/i...
[2] https://github.com/microsoft/pyright https://github.com/microsoft/pyright
- benreesman 4y agoThank you for the amazing software!
- davidatbu 4y agoJust a minor note that Pyright is an LSP server, so will work with pretty much any IDE/editor. Thanks for all your work on pytype!