Coding assistance for JupyterLab (code navigation + hover suggestions + linters + autocompletion + rename) using Language Server Protocol
BSD-3-CLAUSE License
Bot releases are visible (Hide)
Published by krassowski almost 3 years ago
This release contains only a minor workaround for translation strings. The minimum supported Python version is now Python 3.7 as Python 3.6 reaches end of life this week.
Make sure your JupyterLab version is 3.0.x, 3.1.x or 3.2.x (this is the last minor release with user support for 3.0).
Update the extension:
pip install jupyterlab-lsp==3.9.3 jupyter-lsp==1.5.1
# or, for conda:
# > Please note that conda packages may take a day or two since release before becoming available!
# conda install -c conda-forge jupyterlab-lsp=3.9.3 jupyter-lsp=1.5.1
Note:
jedi-language-server
or python-lsp-server
, please make sure to upgrade IPython to 7.20 or newer.python-lsp-server
(which is encouraged), please start by uninstalling python-language-server
and only then install python-lsp-server
; you may also need to replace pyls
occurrences with pylsp
in settings if you modified any.jupyterlab-lsp
(3.9.3
)Full Changelog: https://github.com/jupyter-lsp/jupyterlab-lsp/compare/v3.9.2...v3.9.3
Published by krassowski almost 3 years ago
This release comes with new details-below
layout allowing to change the completer arrangement, and many bug fixes improving jump to definition feature, diagnostic panel, removing deprecation warnings and improving support for translations.
side-by-side (current, default) |
details-below |
---|---|
Make sure your JupyterLab version is 3.0.x, 3.1.x or 3.2.x (this is the last minor release with user support for 3.0).
Update the extension:
pip install jupyterlab-lsp==3.9.2 jupyter-lsp==1.5.1
# or, for conda:
# > Please note that conda packages may take a day or two since release before becoming available!
# conda install -c conda-forge jupyterlab-lsp=3.9.2 jupyter-lsp=1.5.1
Note:
jedi-language-server
or python-lsp-server
, please make sure to upgrade IPython to 7.20 or newer.python-lsp-server
(which is encouraged), please start by uninstalling python-language-server
and only then install python-lsp-server
; you may also need to replace pyls
occurrences with pylsp
in settings if you modified any.jupyterlab-lsp
(3.9.2
), jupyter-lsp
(1.5.1
) and completion-theme
(3.2.0
)details-below
layout allowing to change the completer arrangement (#698)texlab
server (#702)Full Changelog: https://github.com/jupyter-lsp/jupyterlab-lsp/compare/v3.9.1...v3.9.2
Published by krassowski almost 3 years ago
This release comes with support and auto-autodetection of a new language server for TypeScript and JavaScript, typescript-language-server
(the previous is no longer maintained) and fixes developer-facing issues in extending this extension.
Make sure your JupyterLab version is 3.0.x, 3.1.x or 3.2.x (this is the last minor release with user support for 3.0).
Update the extension:
pip install jupyterlab-lsp==3.9.1 jupyter-lsp==1.5.0
# or, for conda:
# > Please note that conda packages may take a day or two since release before becoming available!
# conda install -c conda-forge jupyterlab-lsp=3.9.1 jupyter-lsp=1.5.0
Note:
jedi-language-server
or python-lsp-server
, please make sure to upgrade IPython to 7.20 or newer.python-lsp-server
(which is encouraged), please start by uninstalling python-language-server
and only then install python-lsp-server
; you may also need to replace pyls
occurrences with pylsp
in settings if you modified any.jupyterlab-lsp
(3.9.1
) and jupyter-lsp
(1.5.0
)typescript-language-server
replacing javascript-typescript-langserver
;javascript-typescript-langserver
can still be used, but it is no longer maintainedFull Changelog: https://github.com/jupyter-lsp/jupyterlab-lsp/compare/v3.9.0...v3.9.1
Published by krassowski about 3 years ago
This release includes highly anticipated bug fixes and improvements:
signature
feature, which will now:
before | after |
---|---|
This is the last minor release using @krassowski
npm organization. Subsequent major and minor releases will use new @jupyter-lsp
organization. This is the last minor release targeting JupyterLab 3.0, subsequent releases will target 3.1 and 3.2 versions.
Make sure your JupyterLab version is 3.0.x, 3.1.x or 3.2.x (this is the last minor release with user support for 3.0).
Update the extension:
pip install jupyterlab-lsp==3.9.0 jupyter-lsp==1.4.1
# or, for conda:
# > Please note that conda packages may take a day or two since release before becoming available!
# conda install -c conda-forge jupyterlab-lsp=3.9.0 jupyter-lsp=1.4.1
Note:
jedi-language-server
or python-lsp-server
, please make sure to upgrade IPython to 7.20 or newer.python-lsp-server
(which is encouraged), please start by uninstalling python-language-server
and only then install python-lsp-server
; you may also need to replace pyls
occurrences with pylsp
in settings if you modified any.jupyterlab-lsp
and jupyter-lsp
pyls
/pylsp
with IPython
(#686)Published by krassowski about 3 years ago
This release fixes too verbose output in the command line, and improves the behaviour and rendering of the hover feature:
before | after |
---|---|
before | after |
---|---|
Make sure your JupyterLab version is 3.0.x or 3.1.x (we are now testing against 3.1.x but will support 3.0 for a limited time too)
Update the extension:
pip install jupyterlab-lsp==3.8.1 jupyter-lsp==1.4.1
# or, for conda:
# > Please note that conda packages may take a day or two since release before becoming available!
# conda install -c conda-forge jupyterlab-lsp=3.8.1 jupyter-lsp=1.4.1
Note:
jedi-language-server
or python-lsp-server
, please make sure to upgrade IPython to 7.20 or newer.python-lsp-server
(which is encouraged), please start by uninstalling python-language-server
and only then install python-lsp-server
; you may also need to replace pyls
occurrences with pylsp
in settings if you modified any.jupyterlab-lsp
and jupyter-lsp
%Rdevice
magic is now properly overridden and won't be extracted to R code (#646)MarkedString
s, fix hover disappearing when moving mouse towards it (#653)ValidationError
warnings for non-installed servers (#645, thanks @karlaspuldaro)@karlaspuldaro | @krassowski
Published by krassowski over 3 years ago
This release improves user experience when troubleshooting server extension installation (thanks @icankeep) and installation of specific language servers, improves performance of completer (note: this change will be only noticeable by users already using fast language servers), and fixes a few other bugs. It is accompanied with an update of jupyter-lsp
which was extended to support listing all known language servers (even when not installed) and specifying language server installation troubleshooting information; external providers of language server specification who use ShellSpec
may need to update is_installed()
method signature (more details in the full changelog).
Make sure your JupyterLab version is 3.0.x
Update the extension:
pip install jupyterlab-lsp==3.8.0 jupyter-lsp==1.4.0
# or, for conda:
# > Please note that conda packages may take a day or two since release before becoming available!
# conda install -c conda-forge jupyterlab-lsp=3.8.0 jupyter-lsp=1.4.0
Note:
jedi-language-server
or python-lsp-server
, please make sure to upgrade IPython to 7.20 or newer.python-lsp-server
(which is encouraged), please start by uninstalling python-language-server
and only then install python-lsp-server
; you may also need to replace pyls
occurrences with pylsp
in settings if you modified any.jupyterlab-lsp
changelog:improvements:
bug fixes:
For jupyter-lsp
changelog see here.
@krassowski | @icankeep | @yaegassy
Published by krassowski over 3 years ago
This release adds autodetection of pyright sever (thanks @yuntan), ability to choose which server is used if multiple are installed (using priority
setting), support for log messages and message requests from LSP servers, ability to disable kernel or LSP completions (thanks @Carreau), and compatibility with RetroLab (previously JupyterLab Classic, thanks @jtpio).
Make sure your JupyterLab version is 3.0.x
Update the extension:
pip install jupyterlab-lsp==3.7.0 jupyter-lsp==1.3.0
# or, for conda:
# > Please note that conda packages may take a day or two since release before becoming available!
# conda install -c conda-forge jupyterlab-lsp=3.7.0 jupyter-lsp=1.3.0
Note:
jedi-language-server
or python-lsp-server
, please make sure to upgrade IPython to 7.20 or newer.python-lsp-server
(which is encouraged), please start by uninstalling python-language-server
and only then install python-lsp-server
; you may also need to replace pyls
occurrences with pylsp
in settings if you modified any.features:
bug fixes:
other changes:
serverNotifications
, clientNotifications
, clientRequests
and serverRequests
instead (#606)Published by krassowski over 3 years ago
This release adds support for translations and the new community-maintained fork of pyls: python-lsp-server as well as multiple bug fixes. We also updated our documentation fixing rendering, making it more readable and adding a section on kernel requirements when using custom LSP servers in notebook. Special shout-out to the new contributors: @JessicaBarh, @marimeireles, @stonebig and @maresb.
Make sure your JupyterLab version is 3.0.x
Update the extension:
pip install jupyterlab-lsp==3.6.0 jupyter-lsp==1.2.0
# or, for conda:
# > Please note that conda packages may take a day or two since release before becoming available!
# conda install -c conda-forge jupyterlab-lsp=3.6.0 jupyter-lsp=1.2.0
Note:
jedi-language-server
or python-lsp-server
, please make sure to upgrade IPython to 7.20.python-lsp-server
(which is encouraged), please start by uninstalling python-language-server
and only then install python-lsp-server
; you may also need to replace pyls
occurrences with pylsp
in settings if you modified any.features:
bug fixes:
Published by krassowski over 3 years ago
This release provides notable improvements and bug fixes to the completion feature and handling of IPython magics:
%%bigquery
IPython cell magic is now supportedcaseSensitive
: you can make matching of completions case-insensitive by setting it to false
includePerfectMatches
: you can ask completer not to include perfect matches by setting it to false
labelExtra
: you can revert to old behaviour of showing the type next to the label, or change it to showing source, or only detail.RegExpForeignCodeExtractor
's extract_to_foreign
was split into foreign_capture_groups
and foreign_replacer
Make sure your JupyterLab version is 3.0.x
Update the extension:
pip install jupyterlab-lsp==3.5.0 jupyter-lsp==1.1.3
# or, for conda:
# > Please note that conda packages may take a day or two since release before becoming available!
# conda install -c conda-forge jupyterlab-lsp=3.5.0 jupyter-lsp=1.1.3
Note:
jedi-language-server
(versions 0.22+) please make sure to upgrade IPython to 7.20 to avoid this issue.features:
%%bigquery
IPython cell magic support for BigQuery (#553, thanks @julioyildo)bug fixes:
for extension authors:
Published by jtpio over 3 years ago
This is a bugfix-only release for the older version of JupyterLab 2.2.x. We recommend upgrading to JupyterLab 3.0.x and extension 3.x to benefit from the improvements made in the 3.x releases.
Make sure your JupyterLab version is 2.2 (for JupyterLab 3.0 please use the never extension versioned 3.x)
Install/update LSP packages:
jupyter labextension install @krassowski/[email protected]
bug fixes:
Published by krassowski over 3 years ago
This release fixes an issue with installation from source (via JupyterLab Extension Manager or jupyter labextension install
) failing to build when jupyterlab-classic
was not installed. The installation using pip
or conda
is recommended over source installations.
To learn more about precious changes introduced in version 3.4, or to see the recommended installation instructions please see: v3.4.0
bug fixes:
Published by krassowski over 3 years ago
This release provides notable improvements and bug fixes to the completer (sorting, completion in strings, rendering of markdown documentation) and to the diagnostics panel (when foreign documents like %%R
, or %%sql
cells are used). The long paths in the status popover will not be collapsed to prevent it from spanning a large portion of the screen; you can get the full path by hovering over the collapsed path. The ambiguous suppressInvokeIn
setting was replaced by suppressContinuousHintingIn
and suppressTriggerCharacterIn
settings; if you customized it before please update the settings accordingly.
Make sure your JupyterLab version is 3.0.x
Update the extension:
pip install jupyterlab-lsp==3.4.0 jupyter-lsp==1.1.3
# or, for conda:
# > Please note that conda packages may take a day or two since release before becoming available!
# conda install -c conda-forge jupyterlab-lsp=3.4.0 jupyter-lsp=1.1.3
Note:
jedi-language-server
(versions 0.22+) please make sure to upgrade IPython to 7.20 to avoid this issue.features:
kernelCompletionsFirst
setting (#520)filterText
and sortText
if available to better filter and sort completions (#520, #523)suppressInvokeIn
setting was removed; suppressContinuousHintingIn
and suppressTriggerCharacterIn
settings were added (#521)suppressContinuousHintingIn
by default includes def
to improve the experience when writing function names (#521)bug fixes:
%%R
cell magics) are removed (#522)Published by krassowski over 3 years ago
This release improves the completer and signature behaviour on focus loss and brings other UX improvements to the completer behaviour (see the changelog notes below). With jupyter-lsp 1.1.3, the JupyterHub/Binder users should no longer be required to switch to to jupyter_server
to get this extension working.
Make sure your JupyterLab version is 3.0.x
Update the extension:
pip install jupyterlab-lsp==3.3.1 jupyter-lsp==1.1.3
# or, for conda:
# > Please note that conda packages may take a day or two since release before becoming available!
# conda install -c conda-forge jupyterlab-lsp=3.3.1 jupyter-lsp=1.1.3
Note:
jedi-language-server
(versions 0.22+) please make sure to upgrade IPython to 7.20 to avoid this issue.bug fixes:
Published by krassowski over 3 years ago
This is a bugfix-only release for the older version of JupyterLab 2.2.x. We recommend upgrading to JupyterLab 3.0.x and extension 3.x to benefit from the improvements made in the 3.x releases. Many thanks to @jtpio for backporting the changes and driving this release.
Make sure your JupyterLab version is 2.2 (for JupyterLab 3.0 please use the never extension versioned 3.x)
Install/update LSP packages:
pip install jupyter-lsp==0.9.3
jupyter labextension install @krassowski/[email protected]
bug fixes:
Published by krassowski over 3 years ago
This release improves overall speed and experience of the completer, including new configuration options and bug fixes, notably a major stability fix Windows.
Make sure your JupyterLab version is 3.0.x and uses jupyter_server
(if you use JupyterHub, please see this comment)
Update the extension:
pip install jupyterlab-lsp==3.3.0 jupyter-lsp==1.1.2
# or, for conda:
# > Please note that conda packages may take a day or two since release before becoming available!
# conda install -c conda-forge jupyterlab-lsp=3.3.0 jupyter-lsp=1.1.2
Note:
jupyter_server
jedi-language-server
(versions 0.22+) please make sure to upgrade IPython to 7.20 to avoid this issue.features:
bug fixes:
Published by krassowski over 3 years ago
This release brings support for documentation panel for more languages (including R and javscript/typescript) and multiple bug fixes.
Make sure your JupyterLab version is 3.0.x and uses jupyter_server
(if you use JupyterHub, please see this comment)
Update the extension:
pip install jupyterlab-lsp==3.2.0 jupyter-lsp==1.1.1
# or, for conda:
# > Please note that conda packages may take a day or two since release before becoming available!
# conda install -c conda-forge jupyterlab-lsp=3.2.0 jupyter-lsp=1.1.1
Note the following:
jupyter_server
jedi-language-server
, please use the 0.21 version as the newer 0.22 (released just 4 days ago) transitioned to a new Jedi version which is not yet supported by IPython. You may ignore this warning if you work with a custom Python kernel that does not use on Jedi.features:
bug fixes:
jedi-language-server
diagnostics (#485)PythonModuleSpec
no longer raises exception when the server module does not exist (#485)Published by krassowski almost 4 years ago
This release brings many bug fixes as well as new experimental features:
jupyterlab-classic
,LanguageServer.jl
,jedi-language-server
(please use version 0.21 and uninstall pyls).JupyterHub users: please see https://github.com/krassowski/jupyterlab-lsp/issues/375#issuecomment-761078622
Make sure your JupyterLab version is 3.0.x and uses jupyter_server
Update the extension:
pip install jupyterlab-lsp==3.1.0 jupyter-lsp==1.1.0
# or, for conda:
# > Please note that conda packages may take a day or two since release before becoming available!
# conda install -c conda-forge jupyterlab-lsp=3.1.0 jupyter-lsp=1.1.0
Note the following:
jupyter_server
jedi-language-server
, please use the 0.21 version as the newer 0.22 (released just 4 days ago) transitioned to a new Jedi version which is not yet supported by IPython. You may ignore this warning if you work with a custom Python kernel that does not use on Jedi.features
jupyterlab-classic
- experimental, not all features are functional yet (#465)bug fixes:
Published by krassowski almost 4 years ago
This release provides support for JupyterLab 3.0. Many thanks to everyone who helped to port the extension: @martinRenou, @jtpio, @bollwyvl, and @karlaspuldaro.
To upgrade to this release:
JupyterHub users: please see https://github.com/krassowski/jupyterlab-lsp/issues/375#issuecomment-761078622
Make sure your JupyterLab version is 3.0 and uses jupyter_server
:
jupyter server extension list # note: a space between "server" and "extension"
should include:
jupyterlab enabled
- Validating jupyterlab...
jupyterlab 3.0.0 OK
if you get an error (jupyter-server: command not found
) instead, you are probably using the old notebook
server rather than the new jupyter_server
, most likely due to having an older JupyterLab version installed.
Uninstall the old versions (if installed) - this step may not be necessary, but is recommended anyways
pip uninstall jupyter-lsp # or and equivalent for conda (depending on which conda package you installed)
jupyter labextension uninstall @krassowski/jupyterlab-lsp
Install the new JupyterLab 3.0-compatible version:
# note that it is jupyter**lab**-lsp now
pip install jupyterlab-lsp==3.0.0
# or, for conda:
# conda install -c conda-forge jupyterlab-lsp=3.0.0
Validate that the installation succeeded:
jupyter labextension list # note: **no** space between "lab" and "extension"
should include:
@krassowski/jupyterlab-lsp v3.0.0 enabled OK (python, jupyterlab_lsp)
If you are installing this extension for the first time, please read the full installation instructions as language servers of your choice need to be installed too, and additional configuration can make your experience smoother.
Published by krassowski almost 4 years ago
This release brings an ability to auto-clear the highlights when cell is not focused along with performance improvements and bug fixes to the highlights and completion features. Please see the CHANGELOG.md for details on the improvements in this version.
To upgrade to this release
Make sure your JupyterLab version is 2.2 (please note that JupyterLab 3.0 is not supported yet)
Install/update LSP packages:
pip install jupyter-lsp==0.9.3
jupyter labextension install @krassowski/[email protected]
If you are installing this extension for the first time, please read the full installation instructions as language servers of your choice need to be installed too and additional configuration can make your experience smoother.
Published by krassowski almost 4 years ago
This is a hotfix release for Windows users with GBK codec who experienced crash due to one of the schema files containing UTF characters (and JupyterLab extension system not enforcing UTF). Please see the CHANGELOG.md for the details.
To upgrade to this release
Make sure your JupyterLab version is 2.2
Install/update LSP packages:
pip install jupyter-lsp==0.9.3
jupyter labextension install @krassowski/[email protected]
If you are installing this extension for the first time, please read the full installation instructions as language servers of your choice need to be installed too and additional configuration can make your experience smoother.