Using the warnings module
Object-oriented development often involves performing a significant refactoring of a class or module. It's difficult to get the API exactly right the very first time we write an application. Indeed, the design time required to get the API exactly right might get wasted: Python's flexibility permits us great latitude in making changes as we learn more about the problem domain and the user's requirements.
One of the tools that we can use to support the design evolution is the warnings
module. There are two clear use cases for warnings
and one fuzzy use case:
To alert developers of the API changes, usually features that are deprecated or pending deprecation. The deprecation and pending deprecation warnings are silent by default. These messages are not silent when running the
unittest
module; this helps us ensure that we're making proper use of upgraded library packages.To alert the users about a configuration problem. For example, there might be several alternative implementations...