automatic error suppression for mypy
Project description
mypy-upgrade
Table of Contents
mypy-upgrade
is a command-line utility that provides automatic error
suppression for mypy
(analogous to pyre-upgrade
).
Given a type checking report from mypy,
mypy-upgrade
will silence the listed errors using error suppression
comments. For example, with the following output from mypy:
ase/utils/plotting.py:13: error: Incompatible default for argument "filename" (default has type "None", argument has type "str") [assignment]
mypy-upgrade
will place a # type: ignore[assignment]
comment at the
end of line 13 in ase/utils/plotting.py
. If error codes are not present in
the mypy
report (e.g., the hide-error-codes
flag is set when mypy
was
invoked), then a non-specific # type: ignore
comment will be added instead.
:warning: Warning:
mypy-check
must be run in the same directory thatmypy
was run.*
Basic Usage
There are two idioms for invocation. To silence all errors in a package, one can:
-
invoke
mypy-upgrade
in a "Pyre-like" fashionmypy -p my_package | mypy-upgrade -p my_package
-
create a
mypy
type checking report text filemypy -p my_package > mypy_report.txt
and then pass the file to
mypy-upgrade
mypy-upgrade --report mypy_report.txt -p my_package
:memo: Note: To ensure desired behaviour, packages and modules must be passed using their fully qualified names (e.g.,
my_package.my_module
).
Command-Line Options
You may want to include the error descriptions provided by mypy
in the
suppression comments so that you can fix them later.
mypy-upgrade --report mypy_report.txt -d -p MY_PACKAGE
Files and directories can also be passed as positional arguments:
mypy-upgrade --report mypy_report.txt path/to/my_package/ path/to/another_package/
mypy-upgrade --report mypy_report.txt path/to/a/module.py
For a full list of all options and their descriptions, run
mypy-upgrade --help
Quick Start
mypy-upgrade
can be installed via pip
.
python3 -m pip install mypy-upgrade
If you want to run the latest version of the code, you can install from the repo directly:
python3 -m pip install -U git+https://github.com/ugognw/mypy-upgrade.git
# or if you don't have 'git' installed
python3 -m pip install -U https://github.com/ugognw/mypy-upgrade/tree/development
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for mypy_upgrade-0.0.1a1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec0b2c4a128eeb45bde9cbd105e2a978817e92db6c6303199f7808c24358de95 |
|
MD5 | f428c84b23f55355946018ad6e42b8dd |
|
BLAKE2b-256 | 5f20d1e89d40994a938dc9a0d1f5367e5079c1b4c6ed9421ab7c46fb979b2d02 |