{"id":24451,"library":"python-language-server","title":"Python Language Server","description":"An implementation of the Language Server Protocol (LSP) for Python. Version 0.36.2 is the final release; the project is deprecated in favor of python-lsp-server (a community fork) and pyright/pylance. It provides IDE features like autocompletion, linting, code navigation, and refactoring.","status":"deprecated","version":"0.36.2","language":"python","source_language":"en","source_url":"https://github.com/palantir/python-language-server","tags":["lsp","language-server","ide","code-analysis","jedi"],"install":[{"cmd":"pip install python-language-server","lang":"bash","label":"Install latest from PyPI"}],"dependencies":[{"reason":"Required for autocompletion and code analysis (jedi 0.17+ compatible).","package":"jedi","optional":false},{"reason":"Optional linting provider.","package":"pylint","optional":true},{"reason":"Optional linting provider.","package":"flake8","optional":true},{"reason":"Optional linting provider.","package":"pycodestyle","optional":true},{"reason":"Optional linting provider.","package":"mccabe","optional":true}],"imports":[{"note":"The main entry point is the `pyls` module; direct imports of internal submodules are unsupported.","wrong":"from pyls import server","symbol":"pyls","correct":"import pyls"}],"quickstart":{"code":"# Start the language server (usually launched by an editor plugin)\n# For manual testing, run:\n# pyls\n\n# In code, you can invoke the server programmatically:\nimport pyls\nserver = pyls.ProcessServer()\nprint(\"Python Language Server started. Use an LSP client to connect.\")","lang":"python","description":"Basic usage: the server is typically started by an editor plugin. The `pyls` module provides a `ProcessServer` class for programmatic launching."},"warnings":[{"fix":"Replace python-language-server with python-lsp-server: `pip install python-lsp-server` and change imports to `import pylsp`.","message":"python-language-server is deprecated. The Palantir project has been archived and no longer maintained. Users should migrate to python-lsp-server (community fork) or pyright/pylance.","severity":"deprecated","affected_versions":">=0.36.0"},{"fix":"Update your .pylsrc or editor settings to match the new schema. See: https://github.com/palantir/python-language-server/releases/tag/0.36.0","message":"In version 0.36.0, the configuration format changed. Options that were previously under 'pyls' section are now under the tool's name (e.g., 'pyls.plugins' moved to 'pyls.plugins.jedi' etc.).","severity":"breaking","affected_versions":"0.36.x"},{"fix":"Use `import pyls` (all lowercase).","message":"The package name on PyPI is python-language-server, but the import module is 'pyls'. Many users mistakenly try `import python_language_server` or `import pyls` with wrong casing.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Ensure the package is installed: `pip install python-language-server`. Then import as `import pyls`.","cause":"The package is installed but not in the current Python environment, or the wrong import name is used.","error":"ModuleNotFoundError: No module named 'pyls'"},{"fix":"Upgrade to the latest version: `pip install --upgrade python-language-server`.","cause":"Using an older version of pyls that lacks the ProcessServer class (introduced in 0.36.0).","error":"AttributeError: module 'pyls' has no attribute 'ProcessServer'"},{"fix":"Create a `.pylsrc` file in the project root or home directory. See https://github.com/palantir/python-language-server#configuration","cause":"Configuration file is missing or uses an outdated format.","error":"Error: No configuration found for 'pyls'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}