HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
microsoft
python-language-server
C#2018–2023
microsoft / python-language-server · Archived

python-language-server

Microsoft Language Server for Python

10Distinct people
10Mentions
0Explicit recommenders
919GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Microsoft Language Server for Python

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: 2018-09-26 17:30:42 UTC to 2023-01-02 21:27:51 UTC.

01232018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments20182019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2023

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
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC211
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC202
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC202
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC303
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC000
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC101

What Hacker News says

10 sources
I do fault them, a bit, philosophically, but that’s not even the core of my complaint here. I may not like Microsoft releasing proprietary software, but I hardly feel surprised or cheated when they do. On the other hand, when Microsoft creates an interoperability standard to solve the proliferation of wheel-inventing in IDEs, actively promotes it as such, creates and supports an open-source implementation of it for Python as part of said promotion, then abandons[1] said implementation in favour of a proprietary one that deliberately speaks the interoperability protocol in a slightly non-interoperable way, then yes, I do feel like I’ve been conned, and maybe I should stop treating Microsoft’s open-source efforts seriously even if they’re good software at the present moment. (Whether my level of cynicism regarding Microsoft should have been
Read the rest
high enough that I wouldn’t have been surprised, I’m not sure.) [1] https://github.com/microsoft/python-language-server/issues/2...
In Pyright: Static Type Checker for Python
How about the fact that some extensions like Remote Development [1] and LiveShare [2] work only on proprietary builds of vscode, and not on code-oss or vscodium? I get it that those are proprietary extensions, but they still show up in the extension marketplace for OSS builds. And I don't see a technical reason why they wont run on OSS builds, other than that the extension builders want it that way. And these extensions are important enough that you will end up downloading the proprietary build while you are too busy solving something with your team mates. This is a very subtle way to push even privacy-aware developers to use the proprietary build with built-in telemetry. And how about the fact that the de-facto reference implementation of LSP client (most language servers are developed against vscode) uses many undocumented and non-stand
Read the rest
ard extensions [3] that are hard for other clients to implement? These are dark patterns that claims to be FOSS-friendly. It could be that MS still has split-brains about their approach to open source [4], but that is still an indication that MS still has part of their old anti-user soul in them. Personally, I liked vscode, but I value my freedom even more. Emacs provides all the functionality and the freedom I crave. It is a bit harder to learn and modify - but I can live with that. [1] https://github.com/VSCodium/vscodium/issues/240#issuecomment... [2] https://github.com/VSCodium/vscodium/issues/128#issuecomment... [3] https://github.com/microsoft/python-language-server/issues/4... [4] https://www.theverge.com/2021/10/22/22740701/microsoft-dotne...
In Microsoft blocks EdgeDeflector to force Windows 11 users into Edge
This title is inaccurate. The language server _is_ open source, and is available here: https://github.com/microsoft/python-language-server. This is the default one VSCode ships with. This issue is filed on Pylance, a new (released June 2020) language server that's currently still in beta (announcement: https://devblogs.microsoft.com/python/announcing-pylance-fas...). Also, like the contributor notes, a lot of the "secret sauce" in Pylance is part of the open source Pyright typechecker: https://github.com/microsoft/pyright.
In Microsoft Refuses to Open Source VSCode Python Language Server
I have used both softwares but stick with VSCode for Python, simply because it is very powerful to have one great editor for all projects, as opposed to one specialized IDE for each. PyCharm is (AFAIK) monolithic in what it brings to the table, whereas VSCode is more modular. As such, some of your points are true, but not an inherit fault of VSCode, but probably of some settings/underlying tools used. Maybe these can get you a better experience: 3. Agreed with VSCode being lackluster, but switching to MS Language Server [0] has helped this a great deal (while having other downsides, like being slower). 5. VSCode also has a variable viewer/browser and an interactive shell (which cannot be IPython as of today, however [1]) 6. Disagree: I forgot what VSCode uses per default, but I switched to `black` for formatting, which works very well (`
Read the rest
"python.formatting.provider": "black"` in settings.json). For linting, I switched to `mypy` (which also handles type hints, which is helpful), which can be set via `Python: Select Linter` (CTRL+SHIFT+P). `mypy` seems to be powerful. It definitely catches method 1st arguments not being `self`. 0: https://github.com/microsoft/python-language-server 1: https://stackoverflow.com/questions/47701629/vs-code-run-ipy...
In Guide to Python Debugging
The same engine that VSCode uses is open source [1]. With lsp-mode [2] or eglot [3], you can have the same stuff working inside emacs. I've actually been writing Java inside emacs lately --- yes, java, and I have had very few issues. One caveat, development on the emacs LSP stuff is moving very quickly, so I don't recommend using ELPA/MELPA/etc. to install the plugins. I use straight.el [4] to manage my plugins, they're checked out from the upstream source and can be updated at-will. You'll also need an up to date version of emacs, ie: 26+. (That's the current release, but it's not available in some distributions ie: debian/ubuntu yet.) --- [1]: https://github.com/Microsoft/python-language-server [2]: https://github.com/emacs-lsp/lsp-mode [3]: https://github.com/joaotavora/eglot [4]: https://github.com/raxod502/straight.el
In The Rise of Microsoft Visual Studio Code

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.