Static analysis is a powerful technique for improving the quality of software. It allows you to find bugs in your Python code without any the need for any annotations.
At lgtm.com we provide state-of-the-art static analysis for a number of languages including Python. Our Python analysis can find bugs without the annoyance of many false positives. We have already found bugs in the standard library, requests, numpy and many others.
In this talk I will briefly describe what static analysis is, how it can be useful to you, and then give an overview of the techniques we use.
This talk is aimed at all Python developers, although I expect that those who have used pyflakes, pep8, pylint or mypy in the past will find it the most accessible. I hope that this talk will inspire developers to start using static analysis tools (hopefully ours) and to produce better code as a result. I will assume that the audience knows Python well, but knows little or nothing about static analysis.
(lgtm.com is a commercial project that is free to use for open-source software)