Hi, my name is Martin Vielsmaier. I am a freelance software developer and
consultant from southern Germany. I love Python and building software.
Static analysis tools have always been an important part of my toolbelt.
If you would like to learn more about me, please head over to my
personal website.
I started out building PyCodeQual because I was frustrated with running Pylint and other static analysis tools locally or in CI systems. The value you get from their raw output or the integration in your editor is nice, but you never get a high-level picture and trends on how your code base is evolving.
There are quite some competing products that also offer Python
code quality analysis as a service. I tried a lot of them and the
frustration with them sparked the development of PyCodeQual. Most of the
other solutions split their focus on a lot of different languages. You can
feel that... They do all the languages half-heartedly, ie. "take the most
prominent linter in the language's ecosystem and connect it".
When doing static analysis on Python code, you cannot ignore it's
dependencies. You cannot determine missing imports, types & expected
parameters when you miss most of the code. This drastically impairs Pylint's
precision and recall.
Nevertheless, none of the
competing products (as far as I know) offers the possibility to install
dependencies before analysis. That was one of the biggest frustrations
that I seek to eliminate with my product.