Skip to main content

A language server for Jedi!

Project description


image-version image-license image-python-versions image-pypi-downloads

A Language Server for the latest version(s) of Jedi. If using Neovim/Vim, we recommend using with coc-jedi.

Note: this tool is actively used by its primary author. He's happy to review pull requests / respond to issues you may discover.


From your command line (bash / zsh), run:

pip install -U jedi-language-server

-U ensures that you're pulling the latest version from pypi.

Alternatively, consider using pipx to keep jedi-language-server isolated from your other Python dependencies. Don't worry, jedi is smart enough to figure out which Virtual environment you're currently using!


jedi-language-server aims to support all of Jedi's capabilities and expose them through the Language Server Protocol. It currently supports the following Language Server capabilities:

Language Features

Text Synchronization (for diagnostics)

Editor Setup

The following instructions show how to use jedi-language-server with your development tooling. The instructions assume you have already installed jedi-language-server.

Vim / Neovim

Users may choose 1 of the following options:

Note: this list is non-exhaustive. If you know of a great choice not included in this list, please submit a PR!


Users may choose 1 of the following options:

Note: this list is non-exhaustive. If you know of a great choice not included in this list, please submit a PR!

Command line (bash / zsh)

At your terminal prompt:


jedi-language-server currently works only over IO. This may change in the future.


We recommend using coc-jedi and following its configuration instructions.

If you are configuring manually, jedi-language-server supports the following initializationOptions:

  "initializationOptions": {
    "markupKindPreferred": null,
    "jediSettings": {
      "autoImportModules": [],
      "caseInsensitiveCompletion": true
    "completion": {
      "disableSnippets": false,
      "resolveEagerly": false
    "diagnostics": {
      "enable": true,
      "didOpen": true,
      "didChange": true,
      "didSave": true
    "workspace": {
      "extraPaths": [],
      "maxSymbols": 20

See coc-jedi's configuration instructions for an explanation of the above configurations.

Additional Diagnostics

jedi-langugage-server provides diagnostics about syntax errors, powered by Jedi. If you would like additional diagnostics, we suggest using the powerful diagnostic-language-server.

Code Formatting

Again, we recommend that you use diagnostic-language-server. It also supports code formatting.

Local Development

To build and run this project from source:


Install the following tools manually:


Get source code

Fork this repository and clone the fork to your development machine:

git clone<YOUR-USERNAME>/jedi-language-server
cd jedi-language-server

Set up development environment

make setup

Run tests

make test


Palantir's python-language-server inspired this project. Unlike python-language-server, jedi-language-server:

  • Uses pygls instead of creating its own low-level Language Server Protocol bindings
  • Supports one powerful 3rd party library: Jedi. By only supporting Jedi, we can focus on supporting all Jedi features without exposing ourselves to too many broken 3rd party dependencies (I'm looking at you, rope).
  • Is supremely simple because of its scope constraints. Leave complexity to the Jedi master. If the force is strong with you, please submit a PR!

Written by

Samuel Roeca

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for jedi-language-server, version 0.26.0
Filename, size File type Python version Upload date Hashes
Filename, size jedi_language_server-0.26.0-py3-none-any.whl (23.8 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size jedi-language-server-0.26.0.tar.gz (20.5 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page