Python

Overview of existing tools / libraries

attrs

https://attrs.readthedocs.io/en/stable/overview.html

could be helpful:

Static analysis

pylint

  • successor to pychecker

  • heavily configurable

  • looks like the most powerful and popular linter

mypy

http://mypy-lang.org/

as of ~2015:

  • requires stubbing including stdlib/common libs; stubs not included with mypy

  • extremely slow

pyntch

http://www.unixuser.org/~euske/python/pyntch/

  • gathers calling locations for each function or method.

  • provides interesting enough (for python) type checking

  • but python 2.x only

green-type

https://github.com/east825/green-type

  • Not simple to read what it does but looks like a structural typesystem-like inferer inspired by some paper

  • looks abandoned but still might be worth a look

flake8

http://flake8.pycqa.org/en/stable/

  • has everything on the web page BUT any mention of the problem its supposed solve *shrug*

pyflakes

https://pypi.python.org/pypi/pyflakes

  • looks like flake8 can do the same and more according to their own readme

  • supposed to be faster but less powerful than pylint

pychecker

http://pychecker.sourceforge.net/

  • looks superseded by pylint

  • unmaintained since 2011

  • not particularly impressive features