Twitter user @DanyX23:
TIL: pyright, the python type checking engine that is used by VS Code, has support for exhaustiveness checking for match statements with union types!
If you add the following to your pyproject.toml, you’ll get the attached warning
[tool.pyright] reportMatchNotExhaustive = true
I write Python and Typescript with full typing for my day job, and it’s pretty nice. Here’s the general workflow:
In development I get the benefit of most of the types being specified, but I don’t need to specify everything until I’m done. I much prefer Python to Typescript, but my hands are tied on the FE.
If I needed better performance though, I’d write in Rust, which is actually what I use for most of my hobby projects.