HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
python-lsp
python-lsp-server
Python2022–2025
python-lsp / python-lsp-server

python-lsp-server

Fork of the python-language-server project, maintained by the Spyder IDE team and the community

7Distinct people
10Mentions
0Explicit recommenders
2.6KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Fork of the python-language-server project, maintained by the Spyder IDE team and the community

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 11:56:56 AM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year10 dated mentions

Observed mentions: 2022-02-25 15:29:33 UTC to 2025-12-22 22:51:45 UTC.

012342022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments20232024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2025

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC202
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC404
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC202
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC202

What Hacker News says

10 sources
https://peps.python.org/pep-0810/#what-about-star-imports-fr... > What about star imports (`from module import *`)? > Wild card (star) imports cannot be lazy - they remain eager. This is because the set of names being imported cannot be determined without loading the module. Using the lazy keyword with star imports will be a syntax error. If lazy imports are globally enabled, star imports will still be eager. Additionally, star imports can interfere with type checkers and IDEs and shadowing caused by star imports is a frequent and difficult to diagnose source of bugs (you analyze the function you think you're calling and find no issues, but you're actually calling a different function because the star import occurs after your explicit import). You might be able to workaround this limitation by doing a lazy import into an intermediate modu
Read the rest
le (a prelude) on a name by name basis and then star import that intermediate module. But personally I solve this problem using IDE features. https://github.com/python-lsp/python-lsp-server/blob/develop...
In Python Steering Council unanimously accepts "PEP 810, Explicit lazy imports"
I suggest looking for blog posts about this, you're gunnuh wanna pick out a plugin manager and stuff. It's kind of like a package manager for neovim. You can install everything manually but usually you manually install a plugin manager use it to install the rest of your plugins. These two plugins are the bare minimum in my view. https://github.com/nvim-treesitter/nvim-treesitter Treesitter gives you much better syntax highlighting based on a parser for a given language. It's much more robust than the regex-based default highlighting. https://github.com/neovim/nvim-lspconfig This plugin helps you connect to a given language LSP quickly with sensible defaults so you can get IDE features. You'll still need to install the LSP though. https://github.com/neovim/nvim-lspconfig/blob/master/doc/ser... For Python you'll want pylsp. For JavaScript
Read the rest
it will depend on what frontend framework you're using, I probably can't help you there. pylsp itself takes some plugins and you'll probably want them. They're documented at the top of the readme. https://github.com/python-lsp/python-lsp-server Best of luck! Happy hacking.
In JetBrains' unremovable AI assistant meets irresistible outcry
You have to tell the server how to interpret the code somehow. I mentioned line length. In Python, you may want one configurable max for code and another for comments. If you can pass those to the server, it can tell you which lines are too long using the standard mechanism for identifying errors and warnings. Otherwise, the editor would have to know how to parse the code so it could know whether a given line is code or comment. That’s the sort of thing LSP can do better. That’s just one example, not the lone thing users would likely configure. Edit: More concretely, here are some of the config knobs you can twiddle via LSP for the particular server I’ve been discussing: https://github.com/python-lsp/python-lsp-server/blob/develop... There are other plugins around with settings that aren’t documented there, but are still configured throug
Read the rest
h the same mechanism.
In How LSP could have been better
> And neovim is heavily embracing the LSP paradigm, where you'd use something like gd to jump to definition when on top of a function and a language specific LSP server will tell Neovim where to jump to. This x100. I switched to neovim+pylsp a few months ago, and it's been an absolute delight. I use lspconfig [1] and pyslp [2] since most of my time is spent developing Python code. Not only can I navigate more quickly and easily, I also find myself catching more silly errors before run-time due to better linting from the lsp. It used to be that I wouldn't use vim beyond quick edits on single files. Although I still prefer to use vim style bindings in IDEs, I can go much further before I feel the need to fire up an IDE in the first place. [1]: https://github.com/neovim/nvim-lspconfig [2]: https://github.com/python-lsp/python-lsp-server
In Vim – Minimal Setup Explained

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.