At least mention pytype

This commit is contained in:
Hynek Schlawack 2019-10-14 16:44:23 +02:00
parent 8cd3054020
commit 3432df5711
1 changed files with 6 additions and 2 deletions

View File

@ -35,13 +35,13 @@ Attributes that only carry a class annotation do not have that object so trying
Please note that types -- however added -- are *only metadata* that can be queried from the class and they aren't used for anything out of the box!
In practice, their biggest usefulness shows in combination with mypy.
In practice, their biggest usefulness shows in combination with mypy_ or pytype_ that both have dedicated support for ``attrs`` classes.
mypy
----
While having a nice syntax for type metadata is great, it's even greater that `mypy <http://mypy-lang.org>`_ as of 0.570 ships with a dedicated ``attrs`` plugin which allows you to statically check your code.
While having a nice syntax for type metadata is great, it's even greater that mypy_ as of 0.570 ships with a dedicated ``attrs`` plugin which allows you to statically check your code.
Imagine you add another line that tries to instantiate the defined class using ``SomeClass("23")``.
Mypy will catch that error for you:
@ -68,3 +68,7 @@ To mypy, this code is equivalent to the one above:
The addition of static types is certainly one of the most exciting features in the Python ecosystem and helps you writing *correct* and *verified self-documenting* code.
If you don't know where to start, Carl Meyer gave a great talk on `Type-checked Python in the Real World <https://www.youtube.com/watch?v=pMgmKJyWKn8>`_ at PyCon US 2018 that will help you to get started in no time.
.. _mypy: http://mypy-lang.org
.. _pytype: https://google.github.io/pytype/