Feature: Type annotation
@cLupus this would limit the versions of Python which peewee can run on ...
This should probably be added after 3.5 and 3.4 are EOL. Does that include [snubs (mypy)](http://mypy.readthedocs.io/en/stable/basics.html#library-stubs-and-the-typeshed-repo) as well, @oz123 ? I'm of the opinion that type annotation/hinting is absolutely un-pythonic and just adds noise to what would otherwise be very clean/readable code. Python's a dynamic language. If you want Python + types, there's other, statically-typed languages available...but I'm not interested in them. Type annotations do not make the code statically typed, and they are absolutely not noise. For example they let me save hours every day at work by virtue of letting me check what to give to any parameter without leaving the editor instead of having to switch to the browser to read the documentation (because docstrings are sadly also missing), and type checkers have also spared me hours of debugging by letting me find mistakes well before they could become bugs. Type annotations help massively with auto-completion too.

The situation since 2018 has changed dramatically and annotations are a tried and true, useful tool at this point, and pretty much considered an expected luxury by active, popular libraries. I think Peewee's API is nice enough that it deserves to be (more) popular, and type annotations can be a deal maker for many.

On the topic of compatibility, there is the possibility of publishing type annotations through a separate package (e.g. `peewee-stubs`) by following [PEP 561](https://peps.python.org/pep-0561/), if for some reason placing them directly in the code isn't deemed feasible.

I propose reopening this issue and I'm willing to help with the implementation myself.
Hi,
Is there any plans of adding type annotation (hinting) to peewee?