this post was submitted on 23 Apr 2024
82 points (100.0% liked)

Python

6339 readers
3 users here now

Welcome to the Python community on the programming.dev Lemmy instance!

๐Ÿ“… Events

PastNovember 2023

October 2023

July 2023

August 2023

September 2023

๐Ÿ Python project:
๐Ÿ’“ Python Community:
โœจ Python Ecosystem:
๐ŸŒŒ Fediverse
Communities
Projects
Feeds

founded 1 year ago
MODERATORS
 

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

you are viewing a single comment's thread
view the rest of the comments

I write Python and Typescript with full typing for my day job, and it's pretty nice. Here's the general workflow:

  1. Add some code without typing
  2. Iterate on 1 until it works properly
  3. Add tests and types
  4. Submit code for review

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.