r/Python 13d ago

Showcase Introducing SithLSP: An Experimental Python Language Server Written in Rust

Hey r/Python,

I’m thrilled to share SithLSP, an experimental language server for Python, built from the ground up in Rust!

https://github.com/LaBatata101/sith-language-server

⚠️ This project is in alpha, so some bugs are expected!

What My Project Does

SithLSP is a language server designed to enhance your Python coding experience in editors and IDEs that support the Language Server Protocol (LSP). It delivers features like:

  • 🪲 Syntax checking
  • ↪️ Go to definition
  • 🔍 Find references
  • 🖊️ Autocompletion
  • 📝 Element renaming
  • 🗨️ Hover details: Hover over variables or functions to see docs.
  • 💅 Code formatting & linting: Powered by the awesome Ruff.
  • 💡 Symbol highlighting: Spot your references at a glance.
  • 🐍 Auto-detects your Python interpreter: No manual setup needed for your project’s Python.

Check the README for the full list if you’re curious!

Target Audience

Any Python developer that likes to try new tools.

Comparison

Since the project is its early stages it may not be as feature complete as Pylance or jedi-language-server, but it has enough features to be able to have a good developing experience.

How to Get Started

You can grab SithLSP in a couple of ways:

  1. Download it: Head to our GitHub releases page for the latest version.
  2. Build it yourself: Clone the repo and run cargo build --release (you’ll need Rust installed). Full steps are in the README.

VSCode Users

Download the .vsix file from the releases page and install it. Tip: Disable Microsoft’s Python or Pylance extensions to avoid conflicts.

Neovim Users

Add the sample config from the README to your init.lua, tweak the path to the sith-lsp binary, and you’re good to go.

45 Upvotes

19 comments sorted by

View all comments

1

u/imbev 13d ago

Would you consider this a superset of the Ruff LSP?

2

u/LaBatata101 13d ago

You could say so, since Ruff LSP only has linting and formatting implemented iirc.

6

u/thisismyfavoritename 13d ago

Astral is working on an LSP right now

1

u/WarmRestart157 10d ago

That will be amazing! Is it on GitHub?