While enjoying the dynamic feature of Python I find it difficult to refactor code without breaking it. For example, if I modify a function to take more arguments, or arguments of different types, I'll need to manually find out all places where the function is called and make sure I modify them all, unlike in C/Java, where the compiler will do the work of checking function signatures, etc. I suppose there isn't a strict mode in Python. It would be helpful though, when I don't need things to be so dynamic, and this is often the case, when it comes to function arguments and return values, for example. Even a module level or function level flag would be very helpful to find broken code. Or, are there any third party tools that do this?
-- http://mail.python.org/mailman/listinfo/python-list