Skip to content(if available)orjump to list(if available)

Kate and Python Language Server

wormius

Not particularly relevant to the core article, but just a dumb thought re: the LSP/LS annoyance mentioned in the intro.

I think maybe some of it stems from 'ls' the command. If I saw something called py-ls instead of py-lsp, I may think it's a python based ls command. "Name Collision" as it were.

Anyways off to read the rest of the article...

josteink

As someone who recently set up something similar in Emacs with eglot I had to ditch Python-LSP-server.

It was so incredibly slow to respond, even on a M2 Max MBP, that it lowered my productivity by orders of magnitudes (and made Emacs laggy).

Maybe I did something wrong? I don’t know.

What I do know is that I tried pyright instead as a different LSP-server for Python and I haven’t looked back.

It’s a night and day difference. It’s snappy and everything works as expected, with venvs and mypy too.

kstrauser

I agree. I really wanted to like python-lsp-server (aka pylsp), but I felt it's kind of a mess getting everything set up and configured. Loathe as I was to configure a server running in Node to help my editor with Python code, it's far and away the best option I've found so far.

I do hope "ruff server" will do for Python LSPs what ruff did for linting and formatting.

kristjansson

It's not ready yet, but https://pyrefly.org/ might be a good competitor/complement in the future

nerdponx

I haven't tried the Ruff server yet, but Jedi Language Server is usably fast, and does a good enough job.

kstrauser

Jedi's very nice for refactoring and auto-completion! I get more value from linting and type checking, though, and Jedi doesn't handle those. Pairing it with something like pyright is a great combination if your editor lets you connect to multiple servers.

arccy

last time i looked the people were recommending basedpyright: https://github.com/DetachHead/basedpyright