JupyterLabでサクサクコード補間!jupyterlab-kiteの導入


この記事でわかること

  • JupyterLab上でコード補間ライブラリのkiteを適用する方法(Mac環境)

備考

概要

先日,Pythonなどのコード保管で知られるkiteがデータ分析等で使われるIDEでおなじみのJupyterLabに対応したことがアナウンスされました。

今までJupyterLabでの補間といえばデフォルトで備わっているTab補間や,extensionの一つであるJupyter-lspが知られていましたが,補間にラグが生じたり,環境によっては設定が必要であったりと少し使いにくいものでした。また,補間のタイミングや内容なども昨今の機械学習を利用した補間に比べては少々物足りない側面がありました。

今回適用可能なkiteは機械学習を用いた補間ライブラリの一つで人気の高いものでもあります。それが今までコード補間に対して弱点を持っていたJupyterLabで利用できるとなればJupyterLabファンとしては試す&導入の解説を書かせて頂きます。

導入できると以下のようにTabを押さなくてもモリモリ補間してくれるようになります。

導入(Mac環境)

kiteのインストール

基本はjupyterlab-kite公式に則って実行すればOKです。
kiteの公式サイトからMac版をダウンロードしてdmgファイルを開き,Applicationにコピーを行い起動しておきます。extensionのインストールの前に本体をインストールしておく必要があるので気をつけて下さい。

jupyterlab-extensionの導入

JupyterLabのExtensionをまだ導入したことがない方はこちらを参照して下さい。

※この記事の執筆時点ではjupyterlab-kiteはJupyterLabのバージョン2.2.0以降,nodejsのバージョン10以上にしか対応していないので気をつけて下さい(詳しくはGithub参照)

JupyterLabが利用可能な環境で以下を実行します。

$ pip install jupyter-kite
$ jupyter labextension install "@kiteco/jupyterlab-kite"

インストールが終わったら以下のコマンドでJupyterLabを立ち上げます。

$ jupyter lab

確認

JupyterLabの画面において,以下の画像のように左下にkiteのアイコンが表示され,かつnot connectingからしばらく待ってindexingに変われば導入OKです。あとは色々と試してみましょう。

試してみた所感

こちらのjupyterlab-kiteですが,今までの補間よりもいくつもの利点があります。

  • パッケージの推薦だけでなくいい感じに補間してくれる

kiteを利用すると,例えば以下のようにimport numの時点でコードを補間してくれる上によく使われるnumpy as npまで推薦してくれます。

  • 関数やメソッドの引数や解説が表示される

例えばnumpy.arangeについて以下のように引数の数や意味をTipsとして表示してくれます。これで関数の内容を忘れても問題ありません。

  • ユーザ定義の変数や関数も補間してくれる

下記のようにユーザが定義した関数も補間してくれます。docstringなどを書いておくと推薦時にちゃんと表示してくれるようです。

終わりに

個人的にはJupyterLabの革命のように感じました。皆さんもぜひkiteを導入してみて下さい!