Python Language Server for the Language Server Protocol
Project description
Python Language Server
A Python 2.7 and 3.4+ implementation of the Language Server Protocol.
Feature Providers
- Jedi for Completions, Definitions, Hover, References, Signature Help, and Symbols
- Pyflakes linter to detect various errors
- McCabe linter for complexity checking
- pycodestyle linter for style checking
- pydocstyle linter for docstring style checking
- YAPF for code formatting
3rd Party Plugins
Installing these plugins will add extra functionality to the language server:
- pyls-mypy Mypy type checking for Python 3
- pyls-isort Isort import sort code formatting
Language Server Features
Auto Completion:
Code Linting with pycodestyle and pyflakes:
Signature Help:
Go to definition:
Hover:
Find References:
Document Symbols:
Document Formatting:
Installation
pip install python-language-server
Development
To run the test suite:
pip install .[test] && tox
Develop against VS Code
The Python language server can be developed against a local instance of Visual Studio Code.
- Install VSCode for Mac
- From within VSCode View -> Command Palette, then type shell and run install 'code' command in PATH
# Setup a virtual env virtualenv env . env/bin/activate # Install pyls pip install . # Install the vscode-client extension cd vscode-client npm install . # Run VSCode which is configured to use pyls # See the bottom of vscode-client/src/extension.ts for info npm run vscode -- $PWD/../
Then to debug, click View -> Output and in the dropdown will be pyls. To refresh VSCode, press Cmd + r
License
This project is made available under the MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size python-language-server-0.11.1.tar.gz (44.9 kB) | File type Source | Python version None | Upload date | Hashes View |
Hashes for python-language-server-0.11.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e60cb9deffcff184844058b3780d860d2b964340cbdf85acac44cecc4e885ae |
|
MD5 | 00cf567f2d1447d239fd7db4099fe6d2 |
|
BLAKE2-256 | dc8ec95f9132939a52f43721a09cae4a02a1016f54e036c41accf8890d91a284 |