| Supported Python features |
| ========================= |
| |
| A list of unsupported Python features is maintained in the mypy wiki: |
| |
| - `Unsupported Python features <https://github.com/python/mypy/wiki/Unsupported-Python-Features>`_ |
| |
| Runtime definition of methods and functions |
| ******************************************* |
| |
| By default, mypy will complain if you add a function to a class |
| or module outside its definition -- but only if this is visible to the |
| type checker. This only affects static checking, as mypy performs no |
| additional type checking at runtime. You can easily work around |
| this. For example, you can use dynamically typed code or values with |
| ``Any`` types, or you can use :py:func:`setattr` or other introspection |
| features. However, you need to be careful if you decide to do this. If |
| used indiscriminately, you may have difficulty using static typing |
| effectively, since the type checker cannot see functions defined at |
| runtime. |