@pkw #Eglot and #lspmode are #LSP clients for #Emacs, use either or. Eglot is built-into Emacs 29 and upwards and is meant to integrate with existing Emacs utilities, LSP-mode has some more bells and whistles. I found I don't need those and use Eglot. As the language server I use #pylsp, which by default uses the #jedi Python package for completion. You don't need a jedi-specific Emacs package anymore if you use LSP, but still should install the Python package.

@pkw Btw, here is a `.dir-locals.el` file with the #Eglot configuration for #pylsp with fuzzy #jedi completion and #ruff instead of #yapf for formatting, and #mypy for type checking.

(copy-pastable code in alt-text)

#Python #Emacs