Nějaké nástroje na statickou analýzu existují, např. Pylint, ale žádná sláva to podle mě není. S těmi statickými typy máš samozřejmě pravdu, ty leccos odchytí, ale Python jsem začal používat právě proto, že mainstreamové jazyky (C, Java) s typy zacházejí dost pitomě. Nutit programátory psát příkazy typu:
Stodola stodola = new Stodola;
nebo ještě hůř něco jako
Stodola *pStodola = (Stodola *) malloc(sizeof(Stodola));
může jenom sadista nebo skalní příznivce cimrmanovských absolutních rýmů. Jazyky, které mají typovou inferenci a třeba i podporu algebraických typů, napravují pomalu ale jistě staticky typovaným jazykům jejich pošramocenou pověst. Těm původním to ale nepomůže. ;-)