Chapter 6. Customizing Your Typechecker
Typecheckers are one of your best resources for building robust codebases. Jukka Lehtosalo, the lead developer of mypy, offers a beautifully concise definition of typecheckers: âIn essence, [a typechecker] provides verified documentation.â1 Type annotations provide documentation about your codebase, allowing other developers the ability to reason about your intentions. Typecheckers use those annotations to verify that the documentation matches the behavior.
As such, a typechecker is invaluable. Confucius once said, âThe mechanic, who wishes to do his work well, must first sharpen his tools.â2 This chapter is all about sharpening your typechecker. Great coding techniques can get you far, but itâs your surrounding tooling that takes you to the next level. Donât stop with just learning your editor, compiler, or operating system. Learn your typechecker too. I will show you some of the more useful options to get the most out of your tools.
Configuring Your Typechecker
I will focus on one of the most popular typecheckers out there: mypy. When you run a typechecker in an IDE (such as PyCharm), it typically runs mypy underneath the hood (although many IDEs will allow you to change the default typechecker). Anytime you configure mypy (or whatever your default typechecker is), your IDE will use that configuration as well.
Mypy offers quite a few configuration options to control the typecheckerâs strictness, or the amount of errors reported. ...
Get Robust Python now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.