{"id":21219,"library":"esbonio","title":"Esbonio","description":"A language server for Sphinx and docutils-based documentation projects. Current version: 2.0.0. Release cadence: irregular, with major version bumps every few years.","status":"active","version":"2.0.0","language":"python","source_language":"en","source_url":"https://github.com/swyddfa/esbonio","tags":["language server","sphinx","documentation","lsp","reStructuredText"],"install":[{"cmd":"pip install esbonio","lang":"bash","label":"PyPI"},{"cmd":"pip install esbonio[all]","lang":"bash","label":"All features"}],"dependencies":[{"reason":"Required for Sphinx support","package":"sphinx","optional":false},{"reason":"LSP protocol implementation","package":"pygls","optional":false},{"reason":"Required for docutils support","package":"docutils","optional":true}],"imports":[{"note":"","wrong":"","symbol":"EsbonioServer","correct":"from esbonio.server import EsbonioServer"},{"note":"Wrong parent module, breaks in 2.0","wrong":"from esbonio import InputMessageHandler","symbol":"InputMessageHandler","correct":"from esbonio.server import InputMessageHandler"}],"quickstart":{"code":"from esbonio.server import EsbonioServer\nserver = EsbonioServer()\nprint(server.version_info)","lang":"python","description":"Create a basic Esbonio server instance."},"warnings":[{"fix":"Update all imports to use 'esbonio.server' submodule for server classes.","message":"In v2.0, the top-level module exports were reorganized. `from esbonio import X` no longer works for server-related symbols. Use `from esbonio.server import X` instead.","severity":"breaking","affected_versions":"<=1.x"},{"fix":"Replace 'from esbonio.lsp import ...' with 'from esbonio.server import ...'.","message":"The `esbonio.lsp` module is deprecated in v2.0 and will be removed in a future version. Migrate to `esbonio.server`.","severity":"deprecated","affected_versions":">=2.0.0,<3.0.0"},{"fix":"Run the language server from your Sphinx project root, or set the 'workspaceFolders' in LSP client.","message":"Esbonio requires a Sphinx project directory to function; running outside a project root causes cryptic errors like \"Unknown config\". Ensure you are in a directory with conf.py.","severity":"gotcha","affected_versions":"all"},{"fix":"Upgrade Python to 3.10 or later, or pin esbonio to 1.x if you must use an older Python.","message":"In v2.0, the default Python requirement changed to >=3.10. Using older Python versions will cause installation failures.","severity":"gotcha","affected_versions":">=2.0.0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Upgrade to esbonio 2.0+ with 'pip install --upgrade esbonio', or use 'from esbonio.lsp import EsbonioServer' for v1.x.","cause":"You are using esbonio v1.x where the module structure is different.","error":"ModuleNotFoundError: No module named 'esbonio.server'"},{"fix":"Use 'from esbonio.server import EsbonioServer' instead of 'import esbonio; esbonio.server'.","cause":"Import path is incorrect; likely trying to access server as top-level attribute.","error":"AttributeError: module 'esbonio' has no attribute 'server'"},{"fix":"Open your Sphinx project directory in your editor, or ensure the workspace root contains conf.py.","cause":"The language server is not running from a Sphinx project root.","error":"OSError: [Errno 2] No such file or directory: 'conf.py'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}