Idle Type Check - IDLE Extension to use mypy to type check open file
GPL-3.0 License
Python IDLE extension to perform mypy analysis on an open file
This project is superseded by my other IDLE extension, IdleMypyExtension, which uses the mypy daemon instead and has many more features.
This IDLE extension hooks into mypy to type check the currently open file. When type checking the currently open file with the "Type Check File" command, it will add comments to your code wherever mypy had something to say about about that line. You can remove type comments from the currently selected text with the "Remove Type Comments" command. Additionally, you can jump to the next comment this extension created in your file with the "Find Next Type Comment" command.
Note: On use, creates folder mypy
within the idle user directory.
On Linux systems, this is usually ~/.idlerc/mypy
.
pip install idletypecheck[user]
.idleuserextend; idletypecheck
. You should see the followingConfig should be good! Config should be good!
.Options
-> Configure IDLE
-> Extensions
.ZzDummy
there should be andidletypecheck
. This is where you can configure howpip install idletypecheck
.idletypecheck
. You will likely see a message sayingtypecheck not in system registered extensions!
. Run the commandtypecheck
. This time, you should see the followingConfig should be good!
.Options
-> Configure IDLE
-> Extensions
.ZzDummy
there should be andidletypecheck
. This is where you can configure howFor extra_args
, see mypy --help
for a list of valid flags.
This extension sets the following flags to be able to work properly:
--hide-error-context
--no-color-output
--show-absolute-path
--no-error-summary
--soft-error-limit=-1
--show-traceback
--cache-dir="~/.idlerc/mypy"
If you add the --show-column-numbers
flag to extra_args
, when using the
"Type Check File" command, it will add a helpful little ^
sign
in a new line below the location of the mypy message that provided a column
number, as long as that comment wouldn't break your file's indentation too much.
If you add the --show-error-codes
flag to extra_args
, when using the
"Type Check File" command, when it puts mypy's comments in your code, it will
tell you what type of error that comment is. For example, it would change the
error comment
# typecheck: error: Incompatible types in assignment (expression has type "str", variable has type "int")
to
# typecheck: assignment error: Incompatible types in assignment (expression has type "str", variable has type "int")
search_wrap
toggles weather searching for next type comment will wrap
around or not.