python-lsp-ruff
Ruff linting plugin for pylsp
Decision gist · record as of 2026-08-14
Yes. The plugin is actively maintained, has low install friction, carries no security vulnerabilities, and integrates a fast modern linter into the LSP ecosystem. Install it if you use python-lsp-server and want ruff's linting and formatting capabilities available in your editor; skip it only if you prefer ruff's standalone LSP server (ruff>0.4.5) or a different linter altogether.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires python-lsp-server already installed in the same virtualenv; ruff version compatibility: use python-lsp-ruff v1.5.3 with ruff<0.1.0, or v2.3.1 with ruff>=0.1.0.
- Low friction: pure Python wheel with five runtime dependencies (ruff, python-lsp-server, cattrs, lsprotocol, tomli).
- Last commit 2026-05-25 and active maintenance status indicate ongoing support.
License · maintenance · safety
MIT (permissive) — MIT license is permissive; no restrictions on use, modification, or distribution in proprietary or open-source projects.
last release 2026-04-01 (135 days) · last repo commit 2026-05-25 · 219 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 314,383 downloads/mo, #7,701 on PyPI
Alternatives
Verify before relying
pip install python-lsp-ruff
# In your LSP client config (e.g., neovim):
pylsp = {
plugins = {
ruff = {
enabled = true,
formatEnabled = true
}
}
}- Whether unsafe fixes are offered by default or must be explicitly enabled in client configuration.
- Performance characteristics when linting large codebases compared to standalone ruff or other pylsp plugins.
What it is and what it does
python-lsp-ruff is a plugin that bridges ruff (a Rust-based Python linter and formatter) into python-lsp-server, the Language Server Protocol implementation for Python. When enabled, it disables pylsp's default linters (pycodestyle, pyflakes, mccabe) and formatters (autopep8, yapf) and replaces them with ruff's implementations, while preserving other pylsp features like go-to-definition support.
The plugin supports ruff's full linting rule set, its formatter (including isort-style import sorting when explicitly enabled), and code actions for both safe and unsafe fixes. Configuration is passed through pylsp's standard settings mechanism and respects pyproject.toml or ruff.toml files in the project root. It requires ruff, python-lsp-server, cattrs, lsprotocol, and tomli as runtime dependencies.
Use it for
- Use it to add ruff's fast linting and formatting to any LSP-aware editor (Neovim, VS Code, Emacs) that uses python-lsp-server.
- Use it to consolidate linting and formatting under a single tool (ruff) while keeping other pylsp features like symbol navigation.
- Use it to enforce custom ruff rules and severity levels across a team via shared pyproject.toml or ruff.toml configuration.
- Use it to apply ruff's code actions and automatic fixes directly from your editor's code-action menu.
- Use it when you want ruff's performance and modern rule set but need LSP integration rather than a standalone CLI.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
The plugin is actively maintained, has low install friction, carries no security vulnerabilities, and integrates a fast modern linter into the LSP ecosystem. Install it if you use python-lsp-server and want ruff's linting and formatting capabilities available in your editor; skip it only if you prefer ruff's standalone LSP server (ruff>0.4.5) or a different linter altogether.
Install
python-lsp-ruff on PyPI
Before you install
Low friction: pure Python wheel with five runtime dependencies (ruff, python-lsp-server, cattrs, lsprotocol, tomli). Last commit 2026-05-25 and active maintenance status indicate ongoing support.
Requires python-lsp-server already installed in the same virtualenv; ruff version compatibility: use python-lsp-ruff v1.5.3 with ruff<0.1.0, or v2.3.1 with ruff>=0.1.0.
License in practice
MIT license is permissive; no restrictions on use, modification, or distribution in proprietary or open-source projects.
Quickstart
pip install python-lsp-ruff
# In your LSP client config (e.g., neovim):
pylsp = {
plugins = {
ruff = {
enabled = true,
formatEnabled = true
}
}
}
Verify before relying
- Whether unsafe fixes are offered by default or must be explicitly enabled in client configuration.
- Performance characteristics when linting large codebases compared to standalone ruff or other pylsp plugins.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.8 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 5 packagesruffpython-lsp-servercattrslsprotocoltomli |
| Maintenance | Actively maintained 135 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 314,383 / month, #7,701 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: python_lsp_ruff-2.3.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “lsp server ruff plugin”
- python-lsp-ruffIntegrates ruff's linting, formatting, and code-action capabilities…
- ruff-lspProvides a Language Server Protocol bridge to Ruff, enabling linting,…
- pylsp-mypyIntegrates mypy static type checking into the Python LSP Server,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Quality Assurance packages
Coverage.py measures which lines of Python code are executed during test runs, reporting coverage percentages and identifying untested code paths.
Install it if you want to measure test completeness or enforce coverage thresholds in your project.
Ruff is a Python linter and code formatter written in Rust that combines linting, formatting, and code fixing into a single tool, replacing Flake8, Black, isort, and related utilities.
Pexpect spawns and controls interactive console applications by sending input and matching output patterns, automating tasks that would otherwise require manual interaction.
Black reformats Python source code to a consistent style by parsing entire files and rewriting them according to an opinionated, deterministic set of rules, eliminating manual formatting decisions.
pytest-xdist distributes pytest tests across multiple CPU cores or machines to speed up test execution, with the simplest usage being `pytest -n auto` to spawn workers equal to available CPUs.
Install it if your test suite takes long enough that parallelization would save meaningful time.
Validates AWS CloudFormation templates in YAML or JSON format against resource provider schemas and best practices, checking property values and configuration correctness.
Install it if you work with CloudFormation templates.
See also prophecy-libs · python-lsp-server · ruff-lsp · jupyterlab-lsp · pylsp-mypy · pytest-ruff · python-lsp-jsonrpc · python-language-server · ruff-format