typescore

typescore - generate typing completeness scores (and more) for a set of packages


License
MIT
Install
pip install typescore==0.11

Documentation

typescore - generate typing completeness scores for a set of packages

Usage:

typescore <packages> [--verbose] [--scores <scorefile>] [--sep <sep>]

typescore --help

typescore --version

Options:

--scores <scorefile> The output file. [default: scores.csv]

--sep <sep> CSV column separator. [default: ,]

--verbose Include package info in the output.

--help Show this help.

--version Show the version.

typescore uses pyright to score the typing completeness of a set of Python packages. It reads this list from <packages> and writes the results to <scorefile>. If errors prevent it from scoring a package it will set the score to 0%.

The output has the form:

package,typed,module,score,extra_columns

or, if --verbose is specified:

package,version,typed,module,score,package_description,extra_columns

'typed' is a Boolean and tells whether the package had a py.typed file.

Note: we only score top-level modules, not submodules. The assumption is that scores for top-level modules would be reasonably representative of the packages all-up. However, we do generate separate scores for each top level module in a package (so matplotlib would result in 3 lines, one each for 'matplotlib', 'mpl_toolkits' and 'pylab'.

<packages> should have one package name per line. It can be a CSV file with the package name as the first column, in which case other columns will be included in the score file output ('extra_columns'). A typical extra column might be the package rank on PyPI downloads.