🌐
GitHub
github.com › astral-sh › ruff-lsp
GitHub - astral-sh/ruff-lsp: A Language Server Protocol implementation for Ruff. · GitHub
A Language Server Protocol implementation for Ruff, an extremely fast Python linter and code formatter, written in Rust.
Starred by 1.5K users
Forked by 49 users
Languages   Python 99.5% | Just 0.5%
🌐
GitHub
github.com › python-lsp › python-lsp-ruff
GitHub - python-lsp/python-lsp-ruff: Linter plugin for pylsp based on ruff. · GitHub
python-lsp-ruff is a plugin for python-lsp-server that adds linting, code actions and formatting capabilities that are provided by ruff, an extremely fast Python linter and formatter written in Rust.
Starred by 218 users
Forked by 24 users
Languages   Python
Discussions

Ruff v0.4.5: Ruff's language server is now in beta!
I sometimes work in some pretty big python code bases and you can really feel pyright shrugging through all files in real time. I wonder if there are any gains there More on reddit.com
🌐 r/neovim
52
155
May 23, 2024
Support using Ruff's language server
Ruff's language server is in beta. Can we use it instead of Pylance? It's much much faster. More on github.com
🌐 github.com
1
May 28, 2024
Consider using ruff-lsp instead of pylsp as the default language server for Python
It's my view that ruff-lsp can provide a nicer user experience than pylsp mostly because ruff is very fast (written in Rust), so why not switch to it by default? Configuration for Helix is avai... More on github.com
🌐 github.com
5
January 4, 2023
Ruff 0.4.0 just dropped, with a faster parser and a new language server
ruff is awesome. That said, I can't say I feel confident with the strategy now they have been funded. Not long before their VC starts asking what they intend on doing to make it profitable. Everyone is open source until it's time to monetize. More on reddit.com
🌐 r/Python
68
275
April 19, 2024
🌐
GitHub
github.com › astral-sh › ruff › blob › main › crates › ruff_server › README.md
ruff/crates/ruff_server/README.md at main · astral-sh/ruff
An extremely fast Python linter and code formatter, written in Rust. - ruff/crates/ruff_server/README.md at main · astral-sh/ruff
Author   astral-sh
🌐
GitHub
github.com › astral-sh › ruff-vscode
GitHub - astral-sh/ruff-vscode: A Visual Studio Code extension with support for the Ruff linter. · GitHub
The extension has support for Jupyter ... capabilities of the Language Server Protocol which were added in 3.17. This has been implemented in ruff-lsp as of version v0.0.43 which provides full support for all of the existing capabilities available ...
Starred by 1.6K users
Forked by 73 users
Languages   TypeScript 57.8% | Python 38.7% | JavaScript 2.3% | Just 1.2%
🌐
GitHub
github.com › astral-sh › ruff-lsp › blob › main › ruff_lsp › server.py
ruff-lsp/ruff_lsp/server.py at main · astral-sh/ruff-lsp
A Language Server Protocol implementation for Ruff. - ruff-lsp/ruff_lsp/server.py at main · astral-sh/ruff-lsp
Author   astral-sh
🌐
Reddit
reddit.com › r/neovim › ruff v0.4.5: ruff's language server is now in beta!
r/neovim on Reddit: Ruff v0.4.5: Ruff's language server is now in beta!
May 23, 2024 -

Ruff Server is now in beta! In case you didn't know, ruff server is an lsp for python that is also a rewrite of ruff-lsp in rust which was originally written in python I believe. What excites me the most about their blog post regarding the new release is the last bullet point...

Supporting more general language server features: We plan to expand the server's capabilities beyond linting, formatting, and diagnostics.

I hope this means that we might see a highly performant, high quality alternative to the other python lsps.

Update:

Forgot links somehow -_- blogpost: https://astral.sh/blog/ruff-v0.4.5 github: https://github.com/astral-sh/ruff/tree/main/crates/ruff_server#setup

🌐
GitHub
github.com › sublimelsp › LSP-ruff
GitHub - sublimelsp/LSP-ruff: LSP helper for ruff - an extremely fast Python linter, written in Rust. · GitHub
LSP helper for ruff - an extremely fast Python linter, written in Rust. - sublimelsp/LSP-ruff
Starred by 58 users
Forked by 9 users
Languages   Python
Find elsewhere
🌐
GitHub
github.com › python-lsp › python-lsp-server
GitHub - python-lsp/python-lsp-server: Fork of the python-language-server project, maintained by the Spyder IDE team and the community · GitHub
Installing these plugins will add extra functionality to the language server: pylsp-mypy: MyPy type checking for Python >=3.8. python-lsp-isort: code formatting using isort (automatic import sorting). python-lsp-black: code formatting using Black. pyls-memestra: detecting the use of deprecated APIs. pylsp-rope: Extended refactoring capabilities using Rope. python-lsp-ruff: Extensive and fast linting using ruff.
Starred by 2.5K users
Forked by 235 users
Languages   Python 99.9% | Shell 0.1%
🌐
GitHub
github.com › microsoft › vscode-python › issues › 23498
Support using Ruff's language server · Issue #23498 · microsoft/vscode-python
May 28, 2024 - Ruff's language server is in beta. Can we use it instead of Pylance? It's much much faster.
Published   May 28, 2024
Author   SnirShechter
🌐
GitHub
github.com › astral-sh › ruff-lsp
ruff-lsp/ at main · astral-sh/ruff-lsp
December 16, 2025 - A Language Server Protocol implementation for Ruff, an extremely fast Python linter and code formatter, written in Rust.
Author   astral-sh
🌐
Medium
jack-hodkinson.medium.com › integrating-the-ruff-language-server-4f6b0d126ebd
Integrating the ruff language server | by Jack Hodkinson | Medium
July 15, 2024 - I want to add linting capabilities to Satyrn, so I looked into integrating ruff, a python linting and code formatting tool. This tool follows the Language Server Protocol, so as long as I can figure out how to follow that protocol, I should be able to use it in my app. This post covers some background on the Language Server Protocol and then goes into a demonstration of how to integrate the ruff language server into a simple code editor built using CodeMirror. The code for the demonstration is availiable on github.
🌐
GitHub
github.com › astral-sh › ruff › discussions › 15991
`ruff-lsp` is deprecated; please upgrade to the native language server (`ruff server`) · astral-sh/ruff · Discussion #15991
Hey everyone, ruff-lsp is marked as deprecated with the upcoming Ruff release, it will be archived with the release of Ruff 0.11. We suggest everyone to upgrade to the native server (⚡ ruff server ...
Author   astral-sh
🌐
GitHub
github.com › helix-editor › helix › issues › 5399
Consider using ruff-lsp instead of pylsp as the default language server for Python · Issue #5399 · helix-editor/helix
January 4, 2023 - Consider using ruff-lsp instead of pylsp as the default language server for Python#5399 · Copy link · Labels · A-language-supportArea: Support for programming/text languagesArea: Support for programming/text languagesC-enhancementCategory: ImprovementsCategory: Improvements ·
Author   schneiderfelipe
🌐
Astral
docs.astral.sh › ruff › editors › setup
Setup | Ruff
Otherwise, if you already have language-servers defined, you can simply add "ruff" to the list. For example, if you already have pylsp as a language server, you can modify the language entry as follows: [[language]] name = "python" language-servers = ["ruff", "pylsp"]
🌐
Astral
astral.sh › blog › ruff-v0.4.5
Ruff v0.4.5: Ruff's language server is now written in Rust
May 22, 2024 - Ruff's editor integrations have always been powered by a language server. Unlike Pylance or Jedi, which are general-purpose language servers for Python, Ruff’s language server facilitates linting, formatting, and automatic fixes within editors, like VS Code or Neovim.
🌐
GitHub
github.com › python-lsp
Python-LSP · GitHub
The de-facto standard open source Language Server Protocol implementation for Python and its major plugins; successor to Python-Language-Server (PyLS) ... Linter plugin for pylsp based on ruff.
🌐
Akselmo
akselmo.dev › posts › kate-python-lsp
Kate and Python language server | AksDev
May 3, 2025 - { "servers": { "python": { "command": [ "pylsp_in_env", "%{Project:NativePath}" ], "root": ".", "url": "https://github.com/python-lsp/python-lsp-server", "highlightingModeRegex": "^Python$", "settings": { "pylsp": { "plugins": { "ruff": { "enabled": true } } } } } } } Of course, if you have more language servers in your config, make sure to add the above part next to them.
🌐
Reddit
reddit.com › r/python › what are the best linters and language servers for python?
r/Python on Reddit: What are the best linters and language servers for python?
March 11, 2025 -

All of the different language servers, linters, and formatters available for Python can be very confusing. There is significant overlap between tools and it's hard to know what is what- this is my attempt to sort through it all.

Below is what I have been able to figure out, corrections and additions added as I see them from the comments.

Ruff is a fast linter / code formatter. It has overtaken Black and Flake8 as the best / most popular linter although not as thourough as Pylint. Rust.

JEDI is a static analysis tool that supports autocompletion, goto, and refactoring. It works with several langauge servers. Similar functionality to Pyright. Python.

Pyright is a language server maintained by Microsoft. It supports type checking (primary function), goto, autocomplete, similar to JEDI. It is written in TypeScript. Pylance is a Microsoft product that builds on Pyright and adds additional feataures to VS Code. TypeScript.

Basedpyright is a fork of Pyright to add Pylance functionality to Pyright for non-Microsoft editors. Mostly TypeScript with Python additions.

MyPy is one of the original static type checkers (2012, but still actively maintained). Python.

PyLSP/Python LSP Server is a language server implementation that interfaces with other libraries like JEDI to provide various LSP functionality. Python.

Pylint is a static code analyser and very thorough (and slow) linter. It can be used alongside other analysis tools like Ruff or Black, and mypy or pyright. Python.

In addition to the above, some commercial IDEs like PyCharm use their own proprietary linters and type checkers.

I use the Helix editor and by default it will use Ruff, JEDI, and pylsp together. I was confused why it used more than one language server/library, which was the motivation for looking into all of this.