Comment by sito42

4 days ago

astral bags another one

Is ty more mature than pyright or mypy?

I'm currently using pyright, but I'm going to migrate once ty and its vscode extension are given the "production ready" greenlight.

  • at this stage I get very few false positives and it's so much easier to configure and use than pyright

    • Personal experience: if you use injector[1] with NewType so that you can give your primitive types a meaning and add them to your injection stack it completely fails. For example:

      ```python

      ModelName = NewType("ModelName", str)

      # You bind your string within a module: binder.bind(ModelName, to=ModelName(parsed_args.model_name))

      # When you need it: model_name = injector.get(ModelName) # Here it fails, saying that you need "concrete" types or something similar

      ```

      So while it is great already it definitely still has many rough edges still. But it is to be expected from alpha releases

      [1] https://pypi.org/project/injector/

    • ty still doesn't understand match + typing.assert_never pattern, last barrier for me to switching.