Package: jupyterlab-prodigy
JupyterLab extension for the Prodigy annotation tool ✨This repo contains aJupyterLabextension forProdigy, 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 pagefor more details. For questions, please use theProdigy Support Forum. If you've found a bug, feel free to submit apull request.🙏Special thanksto Jupyter core devGrant Nestorfor helping us build this extension!⌛️ InstallationTo use this extension, you needJupyterLab>= 3.0.0 andProdigy.pipinstalljupyterlab>=3.0.0To install the extension, run:pipinstalljupyterlab-prodigyEnsure that the extension is installed and enabled:jupyterlabextensionlistUninstallTo remove the extension, run:pipuninstalljupyterlab-prodigyCompatibilityThis extension is compatible with Jupyterlab 3.0.0 and above. If you're using
Jupyterlab with versions>=2.0.0and<3.0.0, then you should install the3.0.0version ofjupyterlab-prodigyjupyterlabextensioninstalljupyterlab-prodigy@3.0.0📋 UsageStart a Prodigy session in a terminal, e.g.:$prodigyner.manualmy_setblank:ennotebooks/news_headlines.jsonl--labelPERSON,ORG,PRODUCTIn another terminal session, start JupyterLab:$jupyterlabThen, inside of JupyterLab, open theCommandson the left sidebar, and search/type:Open ProdigyExecute it, you will have a new Prodigy panel on the side.⚙ ConfigurationIf 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 theSettingsmenu, go toAdvanced Settings Editor, select the settings forProdigy Jupyter Extension, and there you can add your custom URL, e.g.:{"prodigyConfig":{"url":"https://prodigy.example.com"}}👩‍💻 DevelopNote: You will need NodeJS to build the extension package. It is also
highly-recommended that you work in avirtual
environmentwhen developing.Thejlpmcommand is JupyterLab's pinned version ofyarnthat is installed with JupyterLab. You may useyarnornpmin lieu ofjlpmbelow.# Clone the repo to your local environment# Change directory to the jupyterlab-prodigy directory# Install dev requirementspipinstall-rrequirements-dev.txt# Install package in development modepipinstall-e.# Link your development version of the extension with JupyterLabjupyterlabextensiondevelop.--overwrite# Rebuild extension Typescript source after making changesjlpmrunbuildYou can watch the source directory and run JupyterLab at the same time in
different terminals to watch for changes in the extension's source and
automatically rebuild the extension.# Watch the source directory in one terminal, automatically rebuilding when neededjlpmrunwatch# Run JupyterLab in another terminaljupyterlabWith the watch command running, every saved change will immediately be built
locally and available in your running JupyterLab. Refresh JupyterLab to load
the change in your browser (you may need to wait several seconds for the
extension to be rebuilt).By default, thejlpm run buildcommand generates the source maps for this
extension to make it easier to debug using the browser dev tools. To also
generate source maps for the JupyterLab core extensions, you can run the
following command:jupyterlabbuild--minimize=FalseUninstallpipuninstalljupyterlab-prodigyPackaging the extensionSeeRELEASE