
Introducing the Python Language Server - luord
https://blogs.msdn.microsoft.com/pythonengineering/2018/07/18/introducing-the-python-language-server/
======
Spiritus
I wonder how it compares to Palantir’s Python Language Server[1] that uses
Jedi[2] for intellisense.

[1] [https://github.com/palantir/python-language-
server](https://github.com/palantir/python-language-server)

[2] [https://github.com/davidhalter/jedi](https://github.com/davidhalter/jedi)

~~~
nerdponx
This was my question as well. Seems odd to start from scratch when this
already exists. Unless the MS version is a fork of the Palantir one.

~~~
MikhailArk
MS language server is not based on Jedi. It is based on Python Tools for
Visual Studio. Core components were ported to .NET Core so it runs on all
platforms. The core engine is not just for IntelliSense, it is capable of many
more functions.

~~~
purpleP
Where can we see what it's capable of? For now it seems very incapable to me.
Much worse than intellij or jedi.

~~~
MikhailArk
Please feel free to file issue on github if something is missing.

Visual Studio has full functionality but not all of it is exposed through the
LS protocol just yet. Having full cross file code model helps with many
things.

------
sandGorgon
we have gradually started moving away from Pycharm to vscode at my workplace
and have really been happy.

This feature is super important if they want to build support for running and
debugging python applications remotely... or in docker (which is something we
want as well).

~~~
raeven
I'm curious as to why you'd want to move away from Pycharm?

~~~
cdancette
Not parent but for me two main reasons would be : free, lighter / faster.

~~~
dotancohen
Though PyCharm is a Java application, in my experience it is very well
behaved. Not the typical Java resource hog.

Contrast with VSCode, written in Electron. I will admit that VSCode is one of
the better Electron apps in regards to keeping the UI snappy, but it still
hogs literary GBs of RAM without even having any files open (CentOS desktop).
It will consume a full CPU core just sitting there if it is not minimized, I'm
told that this is to blink the cursor. VSCode is decent if it is the only app
you have open, but it is just too resource intensive in real world computing.

~~~
sandGorgon
actually your info is very very dated. this was an issue long ago. FYI - I'm
based out of India and a lot of interns,etc here can only afford AMD laptops
with 4 GB of RAM and HDD. we are not even close to macbook territory here.

We actually moved these kids to vscode first. And then we realized how good
vscode's performance really was.

------
john2x
Can I use their implementation with emacs-lsp or similar? I can't find a
download link for their language server as a standalone install.

~~~
giancarlostoro
That's the idea behind the Language Server Protocol, and it seems they will
later based on a sibling comment. I love that Microsoft helped to pioneer LSP
(not Lumpy Space Princess) because there's too much of a duplicated effort
done for other editors. I hope in the future they can team up with JetBrains
and make the protocol even more awesome.

~~~
brettcannon
The protocol itself is open source: [https://github.com/Microsoft/language-
server-protocol](https://github.com/Microsoft/language-server-protocol) . I'm
sure the folks in charge of it would be happy to talk to PyCharm if they
wanted to contribute.

------
enitihas
Has anyone here used Visual Studio for python? How does it compare to Pycharm?

~~~
hashhar
Much faster and leaner than PyCharm. Its a lille involved to set up
completions for third party libs which are not installed using pip compared to
PyCharm.

Completions on par with PyCharm but there are a few better refactorings in
PyCharm but nothing that would make me switch back to PyCharm.

~~~
j88439h84
What are "third party libs which are not installed using pip"? I install all
my libs with pip.

~~~
dagw
Lots of commercial libraries aren't pip installable for example.

~~~
heavenlyblue
Can you give an example? I've never worked with anything that's not pip-
installable. Even my web backends are packaged as versioned pip packages -
that's why it seems weird.

~~~
dagw
All the various libraries used to interact with software from companies like
Autodesk and ESRI are one example.

~~~
heavenlyblue
But it has nothing to do with the fact that they can't do proper packaging.
Using their own, proprietarily-compiled interpreter is what keeps you using
their products in a controlled fashion.

------
carlosperate
Does anybody know if this is implemented in Python (I assume in a process run
from the editor)? Or has it perhaps been implemented in JS/TS?

The reason I ask is because the Monaco code editor from VSCode can be used in
the browser, and having Python Language Server implemented in JS means that
any online editor using Monaco could potentially offer the same functionality
from the browser itself without having to keep a connection to a backend
server doing the lifting.

~~~
dmoreno
From the article:

"For performance, it runs with .NET Core on Windows, macOS and Linux, works
with Python 2.5 through to Python 3.7 and supports the latest language
features"

~~~
carlosperate
Thanks!

------
beliu
Sourcegraph CTO here. This is great news and we're looking forward to
incorporating this into Sourcegraph's existing Python support
([https://about.sourcegraph.com/](https://about.sourcegraph.com/)), so users
get all the code intelligence improvements in their code reviews and code
browsers. Thanks for open sourcing!

------
rahimnathwani
This sounds awesome. Can anyone with more familiarity with how it works
provide some idea of how much better this would work vs. Sublime Text plugins
like djaneiro?

~~~
anentropic
at some point there will be Sublime plugins which provide their functionality
via language servers using LSP

there is some work towards it in projects, not sure how ready to use they are

[https://github.com/sourcegraph/sublime-
lsp](https://github.com/sourcegraph/sublime-lsp)
[https://lsp.readthedocs.io/en/latest/#sublime-lsp-plugin-
doc...](https://lsp.readthedocs.io/en/latest/#sublime-lsp-plugin-
documentation)

~~~
Kronuz
There’s work in progress in a LSP fork at
[https://github.com/Kronuz/SublimeCodeIntel](https://github.com/Kronuz/SublimeCodeIntel),
it’ll have more plugins later, it currently has a few working.

------
rmm
This is awesome, tried installing Jedi with neovim on a raspberry pi and
ridiculously slow. I wonder if this could fix it....

~~~
brettcannon
The language server currently only supports 64-bit Linux, so if you have that
on your Pi then it should be faster.

