{"id":24083,"library":"multilspy","title":"multilspy","description":"multilspy is a language-agnostic LSP (Language Server Protocol) client library for Python, providing a high-level interface to interact with language servers. Current version is 0.1.0 (pre-release), with a stable v0.0.15. It supports Python, Rust, Java, Go, JavaScript, Ruby, C#, Dart, PHP, and Elixir. Development is active, with regular releases.","status":"active","version":"0.0.15","language":"python","source_language":"en","source_url":"https://github.com/microsoft/multilspy","tags":["lsp","language-server","code-analysis","microsoft","multilanguage"],"install":[{"cmd":"pip install multilspy","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Process termination handling on all platforms","package":"psutil","optional":false}],"imports":[{"wrong":"from multilspy import Multilspy","symbol":"LanguageServer","correct":"from multilspy import LanguageServer"},{"symbol":"SyncLanguageServer","correct":"from multilspy import SyncLanguageServer"},{"symbol":"Types","correct":"from multilspy import Types"}],"quickstart":{"code":"import os\nfrom multilspy import Multilspy\n\n# Initialize multilspy with a language server (Python in this case)\nlsp = Multilspy(os.environ.get('PYTHON_LSP', 'pylsp'))\n# Start the language server\nlsp.start()\n# Open a Python file\nwith open('example.py', 'w') as f:\n    f.write('import os\\n\\nprint(os.getcwd())')\nlsp.open_document('example.py')\n# Get completions\ncompletions = lsp.request_completions('example.py', line=1, character=0)\nprint(completions)\nlsp.close_document('example.py')\nlsp.stop()","lang":"python","description":"Basic usage: start a language server, open a file, request completions, then stop."},"warnings":[{"fix":"Upgrade to multilspy>=0.0.15","message":"On Windows, multilspy may fail with 'No module named pwd' if the system does not have the pwd module. This was fixed in v0.0.15, but older versions are affected.","severity":"gotcha","affected_versions":"<0.0.15"},{"fix":"Use multilspy>=0.0.15 or catch AssertionError explicitly.","message":"The `request_references` and `request_document_symbols` methods may raise assertion errors without messages in older versions. Debugging is difficult.","severity":"deprecated","affected_versions":"<0.0.15"},{"fix":"Pin to multilspy>=0.0.15,<0.1.0 or test thoroughly with v0.1.0.","message":"In v0.1.0 (pre-release), the API may have changed significantly. The async `LanguageServer` class may replace `Multilspy`. Stick to stable v0.0.15 for now.","severity":"breaking","affected_versions":"0.1.0"}],"env_vars":null,"search_vec":"'0.1.0':30 'activ':53 'agnost':7 'analysi':63 'c':46 'client':12 'code':62 'code-analysi':61 'current':27 'dart':47 'develop':51 'elixir':50 'go':43 'high':19 'high-level':18 'interact':23 'interfac':21 'java':42 'javascript':44 'languag':6,9,25,59 'language-agnost':5 'language-serv':58 'level':20 'librari':13 'lsp':8,57 'microsoft':64 'multilanguag':65 'multilspi':1,2 'php':48 'pre':32 'pre-releas':31 'protocol':11 'provid':16 'python':15,40 'regular':55 'releas':33,56 'rubi':45 'rust':41 'server':10,26,60 'stabl':36 'support':39 'v0.0.15':37 'version':28","created_at":"2026-05-01T08:11:12.576477+00:00","updated_at":"2026-05-01T08:11:12.576477+00:00","problems":null,"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"0.0.15","cli_name":"","cli_version":null,"type":"library","homepage":null,"github":"https://github.com/microsoft/multilspy","docs":null,"changelog":null,"pypi":"https://pypi.org/project/multilspy/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["http-networking","devops"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-08-02","install_tag":null}}