ruff-lsp
basedpyright
ruff-lsp | basedpyright | |
---|---|---|
6 | 3 | |
1,073 | 453 | |
7.1% | - | |
9.1 | 9.9 | |
5 days ago | 1 day ago | |
Python | TypeScript | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
ruff-lsp
- Pylyzer – A fast static code analyzer and language server for Python
-
A guide on Neovim's LSP client
Here's another example: ruff-lsp, a language server for python. It describes itself as a linter and code formatter. As far as I can tell ruff-lsp does not provide code completions or semantic highlights.
- Astral-sh/ruff-lsp: A Language Server Protocol implementation for Ruff
-
Help me to get the best python Neovim environment
I don't know if you are aware of ruff-lsp. It was created to provide the code actions. This could make your pyright + ruff combo work just fine with code actions without pylsp.
- ruff-lsp: A Language Server Protocol implementation for Ruff
- Ruff: one Python linter to rule them all
basedpyright
- Show HN: Basedpyright: An Excellent Alternative to Pylance
-
Open source versus Microsoft: The new rebellion begins
One of the things that comes to mind here is the fact that the default Python extension for VS Code is, perhaps surprisingly to many, not open source. https://github.com/microsoft/pylance-release
While it's possible to fork VS Code, it is not possible to fork VS Code and provide a seamless onramp towards a Python editing experience that is fully open source, because users are used to the nuances of the closed-source Pylance experience in VS Code proper. You could use the minified/compiled Pylance plugin in your fork, but you'd have no way to expand its capabilities to new hooks your fork provides. Microsoft's development process would always be able to move faster than a fork, because it could coordinate VS Code internal API development with its internal Pylance team, and could become incompatible with forks at any time.
It's worth re-reading the quote from J Allard in https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguis... with this modern example in mind.
(Also worth mentioning https://github.com/detachhead/basedpyright?tab=readme-ov-fil... which is a heroic effort to derisk this, but it's an uphill battle for sure!)
-
Pylyzer – A fast static code analyzer and language server for Python
In the interim, check out basedpyright [1]. It's an up-to-date fork of pyright with less arbitrary limitations or the annoyance of requiring npm.
[1] https://github.com/detachhead/basedpyright
What are some alternatives?
lsp-zero.nvim - A starting point to setup some lsp related features in neovim.
lsp_signature.nvim - LSP signature hint as you type
dotfiles - No place like home :house:
Flake8 - flake8 is a python tool that glues together pycodestyle, pyflakes, mccabe, and third-party plugins to check the style and quality of some python code.
black - The uncompromising Python code formatter
pylyzer - A fast static code analyzer & language server for Python
rust-analyzer - A Rust compiler front-end for IDEs