Interactive version of figures for the paper "Python 3 Types in the Wild: A Tale of Two Type Systems", accepted at ACM SIGPLAN Dynamic Languages Symposium (DLS 2020)

Statistic and information of 2,678 repositories

Query used to capture python files from GitHub repositories.

Mypy (Deep) to Pytype [19,145 total] = Mypy's deep semantic only.
Pytype (Deep) to Mypy [45,856 total] = Pytype's deep semantic only.
Mypy (Shallow) to Pytype [2,472 total] = Mypy's shallow semantic only.
Pytype (Shallow) to Mypy [3,132 total] = Pytype's shallow semantic only.
Mypy (All) to Pytype [36,190 total] = All Mypy's errors.
Pytype (All) to Mypy [114,638 total] = All Pytype's errors except "import-error".
[Only Matched] Mypy (All) to Pytype [12,063 total] = Only matched errors.
[Only Matched] Mypy (Cut) to Pytype [3,400 total] = Exclude "misc", "attr-defined", "name-defined".
Mypy (Deep) to Pylint (typecheck) [19,145 total] = Mypy's deep semantic only.
Pylint (typecheck - "no-member") to Mypy [14,873 total] = Pylint's typecheck - "no-member".
Mypy (All) to Pylint (typecheck) [36,190 total] = All Mypy's errors.
Pylint (typecheck) to Mypy [108,613 total] = All Pylint's typecheck.
[Only Matched] Mypy (All) to Pylint ([E]rrors group) [14,463 total] = Only matched errors. Pylint's [E]rrors group.
[Only Matched] Mypy (Cut) to Pylint (typecheck) [190 total] = Exclude "misc", "attr-defined", "name-defined".