When comparing mypy vs Pylint, the Slant community recommends Pylint for most people. In the question“What are the best Python code linters?” Pylint is ranked 1st while mypy is ranked 5th. The most important reason people chose Pylint is:
Pylint gives very detailed reports of your code. It even provides ASCII tables with detailed statistics about the results. Data for the previous and current code execution is also available with the difference, allowing you to easily see the progress that you have made.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Powerful type checker
Mypy's type checker checks the types of function parameters, supports type inference, typed collections and has even some support for generics.
Pro Works in a truly static way
Mypy works in a truly static way. The checker makes all the checks before the code is actually run, but it still catches a lot of bugs.
Pro Full, detailed reports
Pylint gives very detailed reports of your code. It even provides ASCII tables with detailed statistics about the results.
Data for the previous and current code execution is also available with the difference, allowing you to easily see the progress that you have made.
Pro Works with Vim
Through the plugin ALE.
Pro Easily enable or disable a particular message
Each check in pylint has a unique id, so you can choose to disable or enable that particular message in subsequent executions. Just run -enable-msg
or -disable-msg
and the message id.
Pro Fine-grained control
In addition to the ability to enable or disable warnings, Pylint also gives the developer a great degree of control through command line options. These range from regular expressions to enforce naming conventions to various settings to watch for complexity issues.
Pro Configurable
Pylint has a configuration file which can be tweaked to choose what kind of warning messages you want. This way you can choose to opt out of receiving warnings that you may consider useless.
Pro Great documentation
The documentation is thorough and complete. They provide information for any kind of warning that Pylint may raise and how to deal with them, enable/disable them and how to interpret them.
Cons
Con Still an experimental project
Mypy is still an unfinished experimental project. It is prone to bugs and to features being changed and removed. Plus, a large part of Python features is yet to be implemented.
Con May need to compile from source to install it correctly
There are some dependencies from Logilab that Pylint needs. They can easily be found in the README but trying to install them with easy_install can yield some problems with unresolved dependencies.
