This repo contains a JupyterLab extension for Prodigy, our scriptable annotation tool for creating training data for machine learning models. It lets you run Prodigy within a JupyterLab tab, and annotate as you develop your models and applications. In order to use this extension, you'll need a license for Prodigy – see this page for more details. For questions, please use the Prodigy Support Forum. If you've found a bug, feel free to submit a pull request.
🙏 Special thanks to Jupyter core dev Grant Nestor for helping us build this extension!
To use this extension, you need JupyterLab >= 2.0.0
pip install jupyterlab>=2.0.0
jupyter labextension install jupyterlab-prodigy
Start a Prodigy session in a terminal, e.g.:
$ prodigy ner.manual my_set blank:en ./news_headlines.jsonl --label PERSON,ORG,PRODUCT
In another terminal session, start JupyterLab:
$ jupyter lab
Then, inside of JupyterLab, open the Commands
on the left sidebar, and search/type:
Open Prodigy
Execute it, you will have a new Prodigy panel on the side.
If your Prodigy is being served at a URL different than the default (e.g. behind a reverse proxy) you can configure the URL to use in the settings.
Open the Settings
menu, go to Advanced Settings Editor
, select the settings for Prodigy Jupyter Extension
, and there you can add your custom URL, e.g.:
{
"prodigyConfig": {
"url": "https://prodigy.example.com"
}
}
git clone https://github.com/explosion/jupyterlab-prodigy
cd jupyterlab-prodigy
# Install Javascript dependencies
npm install # or yarn
# Build JupyterLab extension
npm run build # or yarn build
jupyter labextension install .
To rebuild the JupyterLab extension:
npm run build # or yarn build
jupyter lab build
To rebuild the JupyterLab extension automatically as the source changes:
# In one terminal tab, watch the jupyterlab-prodigy directory
npm run watch # or yarn watch
# In another terminal tab, run jupyterlab with the watch flag
jupyter lab --watch