Let's say you want to do good type-checking for the #Python project you're working on. You pick a tool, maybe you use it as an #LSP also (so your editor can show you errors, too). As an example, I'm using #Ty at the moment. There's three places this might be installed: globally (e.g., `brew install ty`), as a dev-only dependency inside your project (e.g., `uv add --dev ty`), or -- and this one might surprise you -- it might only be used and installed by `pre-commit`, which builds a separate environment for each needed tool (which is great for instance where I use `codespell` as a `pre-commit` check, which seems to need some higher version of Python than my actual project).

Where should you install it?

If you're the only one on your team running it, globally is fine. If more than just you, then absolutely as a dev-only dependency inside your project ... and **maybe** globally as well.

The only real problem is updates. If you use a reasonable global install scheme, updates will be easy. They're less easy inside your project or in `pre-commit`. And you might care one way or the other! I **don't** want updates! I **do** want updates!

As for Python type-checking, `ty` seems good so far, but not enough experience with it yet. `basedpyright`, `pyrefly`, and `ruff` all good. These four are my favorites.

#BasedPyright #Pyrefly #Ruff #PreCommit #CodeSpell #Homebrew

Cross-posting from Twitter πŸ˜…

I'm working on adding a #codespell backend to my mkdocs-spellcheck plugin:

#codespell is a command line text file spell checker.

codespell is a command line program that recursively checks all words in text or source code files and finds any misspelled words. codespell can ignore certain words, correct mistakes, and skip files that shouldn't be checked. codespell supports using custom dictionaries of suggested corrections, which use a simple syntax.

Website πŸ”—οΈ: https://github.com/codespell-project/codespell/

apt πŸ“¦οΈ: codespell

#free #opensource #foss #fossmendations #spelling #spellcheck

codespell-project/codespell

check code for common misspellings. Contribute to codespell-project/codespell development by creating an account on GitHub.