|
|
|
|
|
by veber-alex
983 days ago
|
|
pyright and ruff are my new go to python tools, replacing mypy, pylint, isort and black. So far the only thing that bothers me about pyright is that it can't infer the type of collections based on later insertions. So in something like: lst = []
lst.append(1)
lst is of type list[Any]I also program in Rust so I kinda expect this to work :P I asked the maintainer about this and this is apparently by design, though mypy handles this correctly IIRC. |
|
Further, out of the box, ruff doesn't even replace isort. You have to specifically enable it to sort imports (`I`)[^3].
I personally think that ruff's defaults are much too conservative. I configure it with `ALL` and then ignore the rules I don't want. I _want_ upgrades of ruff which add new rules to find new things. I'll never know about the new rules if I have to follow its development. I fully expect `pre-commit autoupdate` to cause me some pain after I run it, and that's okay. Linters adding new rules are usually helping me make my code cleaner.
[^1]: https://docs.astral.sh/ruff/faq/#is-ruff-compatible-with-bla...
[^2]: https://docs.astral.sh/ruff/faq/#how-does-ruff-compare-to-py...
[^3]: https://docs.astral.sh/ruff/rules/#isort-i