skillfed

ruff-lsp

A Language Server Protocol implementation for Ruff.

ruff-lsp v0.0.62 114.7K downloads/30d#12,282 on PyPI1,510
Permissive license MIT Abandoned released

What it is and what it does

ruff-lsp is a Language Server Protocol implementation that bridges Ruff, a fast Python linter and formatter written in Rust, to any editor supporting LSP. It surfaces Ruff's diagnostics directly in your editor and provides code actions to fix violations automatically, organize imports isort-style, and format code Black-compatibly. The package depends on lsprotocol, pygls, ruff, packaging, and typing-extensions to function.

However, the package is now deprecated. Ruff itself ships with a built-in language server (`ruff server`) as of v0.4.5, marked stable in v0.5.3, which provides the same feature set with superior performance and requires no separate installation. The maintainers recommend migrating to the native server rather than continuing with ruff-lsp, and the repository is archived with no active maintenance.

Use it for:

  • Integrate Ruff linting into Neovim alongside other language servers like Pyright for diagnostics and code actions.
  • Use Ruff for formatting and import organization in Sublime Text via the LSP and LSP-ruff packages.
  • Enable Ruff diagnostics in Emacs or other LSP-capable editors without running Ruff as a separate CLI tool.
  • Provide auto-fix actions for common violations (unused imports, formatting) directly in your editor's UI.
  • Run Jupyter Notebook linting and formatting through Ruff via LSP in compatible notebook editors.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides a Language Server Protocol bridge to Ruff, enabling linting, formatting, and import organization in LSP-compatible editors like Neovim, Sublime Text, and Emacs.

No. The package is abandoned and explicitly deprecated by its maintainers in favor of the native `ruff server` command, which is now stable and built into Ruff v0.5.3+. If you need LSP integration for Ruff, use `ruff server` instead—it offers the same capabilities with better performance and no extra installation step. Install ruff-lsp only if you are locked into an older Ruff version that predates v0.4.5 and cannot upgrade.

Install

ruff-lsp on PyPI

pip

pip install ruff-lsp

uv

uv add ruff-lsp

poetry

poetry add ruff-lsp

Installing ruff-lsp

Before you install

Low install friction with five runtime dependencies. However, the package is abandoned as of 550 days since last release; the maintainers have deprecated it in favor of the native `ruff server` command built into Ruff v0.4.5+, which offers the same features with better performance and no separate installation.

License in practice

MIT license permits free use, modification, and distribution with minimal restrictions, making it safe from a licensing perspective for most projects.

Quickstart

pip install ruff-lsp

# In Neovim init.lua:
require('lspconfig').ruff_lsp.setup {
  init_options = {
    settings = {
      args = {},
    }
  }
}

Requires an LSP-compatible editor (Neovim, Sublime Text, Emacs, etc.) and Ruff itself as a runtime dependency; editor-specific LSP client configuration is necessary.

Verify before relying

  • Whether the abandoned status and lack of updates since 550 days ago will cause compatibility issues with newer editor versions or Ruff releases.
  • Performance characteristics compared to the native `ruff server` alternative that is now stable in Ruff v0.5.3.

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.7)
Install friction low — pure-Python wheel
Runtime dependencies 5 — lsprotocol, packaging, pygls, ruff, typing-extensions
Maintenance abandoned — 550 days since the last release
Last repo commit (repository archived)
First released
Downloads 114,714/month — #12,282 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: ruff_lsp-0.0.62-py3-none-any.whl

Keywords: language-server, language-server-protocol, lsp, python, ruff

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Software Development :: Libraries :: Python ModulesTopic :: Software Development :: Quality AssuranceTopic :: Software Development :: TestingTopic :: Utilities

Tags

lsp language server protocol pythonruff linter editor integrationpython linting in neovimcode formatting lspimport organization lsppython diagnostics editor
deprecatedlsp-bridgeeditor-integration

More Python Modules packages