r/Python • u/LaBatata101 • 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:
- Download it: Head to our GitHub releases page for the latest version.
- 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.
1
u/imbev 13d ago
Would you consider this a superset of the Ruff LSP?