Skip to content

Add python-lsp-server and python-lsp-ruff to dev dependencies#1169

Merged
paul-nechifor merged 1 commit intodevfrom
feat/add-pylsp
Feb 3, 2026
Merged

Add python-lsp-server and python-lsp-ruff to dev dependencies#1169
paul-nechifor merged 1 commit intodevfrom
feat/add-pylsp

Conversation

@leshy
Copy link
Contributor

@leshy leshy commented Feb 3, 2026

Summary

  • Added python-lsp-server[all]==1.14.0 and python-lsp-ruff==2.3.0 to optional dev dependencies
  • Enables LSP support for Python development with ruff integration

allows same type checking/formatting across IDEs, not sure what individual IDEs need to configure to use or if they'll use by default

@greptile-apps
Copy link

greptile-apps bot commented Feb 3, 2026

Greptile Overview

Greptile Summary

This PR adds Python LSP (Language Server Protocol) support to the development environment by including python-lsp-server[all]==1.14.0 and python-lsp-ruff==2.3.0 as optional dev dependencies. This enables IDE features like autocomplete, go-to-definition, and linting integration.

Key changes:

  • Added two packages to the [project.optional-dependencies] dev section in pyproject.toml
  • The [all] extra brings in comprehensive LSP plugins: autopep8, flake8, pylint, rope, pydocstyle, and more
  • python-lsp-ruff integrates the existing ruff linter (already at v0.14.3 in the project) with the LSP server
  • Lock file updated with 24 new transitive dependencies, all properly resolved by uv

Integration notes:

  • Versions are properly pinned for reproducibility
  • No conflicts with existing dependencies (ruff, jedi, pluggy)
  • Complements existing tooling (ruff, mypy) by providing editor integration

Confidence Score: 5/5

  • This PR is safe to merge with no risk
  • The changes are straightforward dependency additions with proper version pinning. All transitive dependencies are correctly resolved in uv.lock with no conflicts. The packages integrate well with existing tooling (ruff) and are commonly used, stable packages.
  • No files require special attention

Important Files Changed

Filename Overview
pyproject.toml Added python-lsp-server[all]==1.14.0 and python-lsp-ruff==2.3.0 to dev dependencies for LSP support
uv.lock Lock file updated with 24 new transitive dependencies from python-lsp-server[all] including black, isort, pylint, and rope

Sequence Diagram

sequenceDiagram
    participant Dev as Developer
    participant Editor as IDE/Editor
    participant LSP as python-lsp-server
    participant Ruff as python-lsp-ruff
    participant Tools as LSP Plugins<br/>(black, pylint, etc)
    
    Dev->>Editor: Opens Python file
    Editor->>LSP: Initialize LSP connection
    LSP->>Ruff: Load ruff plugin
    LSP->>Tools: Load additional plugins (all extra)
    
    Dev->>Editor: Edits code
    Editor->>LSP: Send document changes
    LSP->>Ruff: Check with ruff linter
    Ruff-->>LSP: Return diagnostics
    LSP->>Tools: Check with other linters
    Tools-->>LSP: Return diagnostics
    LSP-->>Editor: Aggregate and return diagnostics
    Editor-->>Dev: Display errors/warnings
    
    Dev->>Editor: Requests autocomplete
    Editor->>LSP: textDocument/completion
    LSP-->>Editor: Return completions (via jedi)
    Editor-->>Dev: Show suggestions
Loading

Copy link

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2 files reviewed, no comments

Edit Code Review Agent Settings | Greptile

@paul-nechifor paul-nechifor merged commit 2ff7cee into dev Feb 3, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants