{"id":9052,"library":"jedi-language-server","title":"Jedi Language Server","description":"Jedi Language Server (version 0.46.0) is an active Python Language Server that wraps the powerful Jedi library to provide code intelligence features such as auto-completion, goto definition, hover, and refactoring capabilities. It supports various editors and IDEs through the Language Server Protocol (LSP), including integrations for computational notebooks. The project sees regular updates, often with monthly or bi-monthly releases.","status":"active","version":"0.46.0","language":"en","source_language":"en","source_url":"https://github.com/pappasam/jedi-language-server","tags":["language server","lsp","jedi","python","ide","editor","autocomplete","refactoring","diagnostics"],"install":[{"cmd":"pip install -U jedi-language-server","lang":"bash","label":"Install via pip"},{"cmd":"pipx install jedi-language-server","lang":"bash","label":"Install via pipx (recommended for isolation)"}],"dependencies":[{"reason":"Core Python static analysis and autocompletion library.","package":"jedi","optional":false},{"reason":"Framework for building Language Servers, providing LSP integration.","package":"pygls","optional":false},{"reason":"Used for converting docstrings to Markdown format for display in hovers and documentation.","package":"docstring-to-markdown","optional":false},{"reason":"Required for running the language server over WebSocket connections (`jedi-language-server --ws`).","package":"websockets","optional":true}],"imports":[{"note":"This library is primarily an executable language server, not intended for direct programmatic import and use of its core server logic. It is typically run as a standalone process or managed by an editor/IDE.","wrong":"from jedi_language_server import SERVER","symbol":"jedi-language-server","correct":"$ jedi-language-server"}],"quickstart":{"code":"# Run the Jedi Language Server over standard I/O (stdio)\njedi-language-server\n\n# Or, run it over TCP (common for remote development)\n# jedi-language-server --tcp --port 2087\n\n# Editors/IDEs typically execute this command automatically upon configuration.","lang":"bash","description":"Launch the Jedi Language Server from the command line. It usually communicates over standard I/O (stdio), but can also be configured to use TCP or WebSockets. Editors and IDEs typically handle this execution automatically based on their LSP client configuration."},"warnings":[{"fix":"Upgrade Python to 3.9 or newer. If unable to upgrade Python, use `jedi-language-server<0.43.0`.","message":"Support for Python 3.8 was officially dropped in version 0.43.0. Users on Python 3.8 or older will need to upgrade their Python interpreter or downgrade the `jedi-language-server` version.","severity":"breaking","affected_versions":">=0.43.0"},{"fix":"Ensure you are on the latest `jedi-language-server` version (0.46.0+) for potential fixes, or check editor/LSP client configurations for options to disable semantic tokens if problems persist.","message":"Semantic Tokens support, added in v0.45.0, was quickly found to be broken and disabled by default in v0.45.1. While subsequent versions may have re-enabled or fixed this, users experiencing issues with semantic highlighting should check for explicit fixes or configuration options.","severity":"gotcha","affected_versions":"0.45.0 - 0.45.1 (potentially affecting subsequent versions if not fully stable)"},{"fix":"Be aware of the project's recommended alternative for new setups, though `jedi-language-server` continues to be a viable and actively developed option.","message":"The project's GitHub README indicates 'MAINTENANCE MODE' and suggests new users consider 'Zuban' (a Mypy-Compatible Python Language Server Built in Rust) as a successor. While `jedi-language-server` remains actively maintained with ongoing updates, this may signal a future shift in primary development focus or long-term investment.","severity":"gotcha","affected_versions":"All current and future versions"},{"fix":"Integrate a dedicated Python linter and formatter into your editor's LSP setup alongside `jedi-language-server` if full diagnostics and formatting capabilities are required.","message":"Jedi Language Server primarily focuses on code intelligence (completion, definition, etc.) and provides only basic syntax error diagnostics. It does not include comprehensive linting or advanced diagnostics provided by tools like Mypy, Pylint, or Ruff by default. Users needing full code quality checks should integrate a separate linter LSP server (e.g., `ruff-lsp` or `python-lsp-server` with extensions).","severity":"gotcha","affected_versions":"All versions"}],"env_vars":null,"last_verified":"2026-04-16T00:00:00.000Z","next_check":"2026-07-15T00:00:00.000Z","problems":[{"fix":"Upgrade `jedi-language-server` to the latest version. Use `pipx` for isolated installation. If issues persist, try reinstalling in a fresh virtual environment. (e.g., `pip install --force-reinstall jedi-language-server`)","cause":"Often due to incompatible or missing dependencies, historically an alpha version of `lsprotocol` being pulled in. Can also be due to corrupted environments.","error":"jedi-language-server crashes right after start with failed import"},{"fix":"In VS Code, try adding `\"python.experiments.optOutFrom\": [\"pythonJediLSP\"]` to your `settings.json` and reload the window. For other editors, ensure your Python environment is clean and that project root settings are correctly configured.","cause":"Can be triggered by large projects, complex Python environments, or specific editor configurations. In VS Code, it was sometimes related to experimental features.","error":"jedi-language-server high CPU usage / processes consuming excessive resources"},{"fix":"Verify that your editor's LSP client is configured with the correct workspace root. If you have custom module paths, configure `jediSettings.extraPaths` in your editor's LSP settings (e.g., `coc-settings.json` for coc.nvim). Ensure `jedi-language-server` is installed in the Python environment active for your project.","cause":"Incorrect LSP workspace root in the editor, missing `extraPaths` configuration, or issues with environment detection (e.g., when using Conda, Homebrew, or non-standard Python installations).","error":"Jedi LSP: No completion / goto definition / Unable to resolve modules"},{"fix":"Upgrade `jedi-language-server` to the latest version to benefit from bug fixes. If working with in-memory buffers or non-file-system paths, ensure editor integration is robust and passing correct URI schemes.","cause":"Reported issue related to incorrect path handling by Jedi during refactoring operations on in-memory files, particularly in older versions.","error":"FileNotFoundError: /1 during codeAction on inmemory:// URIs"}]}