This project provides coding autocompletion based on TabNine for Jupyter.
Other client plugins of TabNine require starting a child process for TabNine binary and using Pipe for communication. This can't be done with Jupyter Notebook, since child process can't be created with JQuery and Jupyter Notebook doesn't provide any way for adding third-part js libs to plugins.
In this repository, it is achieved through ching the plugin to a HTTP client and starting a server wirtten in Golang to wrap the TabNine binray and handle the clients requests.
- docker
- jupyter >= 4.1 (you can check with
jupyter --version
) - git clone this project by running
git clone [email protected]:wenmin-wu/jupyter-tabnine.git
Just run bash bootstrap.sh
you can also install it manually as following.
docker build -t="tabnine-server:latest"
docker run --rm --name jupyter-tabnine-server \
-p 9999:8080 -d tabnine-server:latest
jupyter nbextension install plugin/tabnine --user
jupyter nbextension enable tabnine/main --user
mkdir -p ${HOME}/.jupyter/custom/ #For windows: mkdir -p %HOMEPATH%\.jupyter\custom
cp plugin/custom/custom.css ${HOME}/.jupyter/custom/ #For windows: cp plugin/custom/custom.css %HOMEPATH%\.jupyter\custom\
- Package this extension to a pypi package.
- Develop an extension for JupyterLab.