Skip to content

platiagro/jupyterlab-extension

Repository files navigation

🔩 @platiagro/jupyterlab-extension

Github Actions Status Github Top Language Github Language Count GitHub License

A JupyterLab extension that connects to PlatIAgro.

This extension is composed of a Python package named jupyterlab_extension for the server extension and a NPM package named @platiagro/jupyterlab-extension for the frontend extension.

✔️ Requirements

  • JupyterLab >= 2.0
  • Python 3
  • Pip Latest Version
  • NodeJs LTS Version

ℹ️ Installing The Extension

Note: You will need NodeJS, Python 3 and pip to install the extension.

Follow the steps below:

1. Download and Install NodeJs

Follow the steps in the NodeJs Official Website to download and install.

2. Download and Install Python 3 and pip

See the instructions to download and install on the Official Python website.


Other Option: Using apt install

sudo apt update
sudo apt install python3-pip

# Verify the installation by checking the pip version
pip3 --version

3. Installing The Extension

pip install git+https://github.com/platiagro/jupyterlab-extension.git
jupyter lab build

💩 Troubleshoot

If you are seeing the frontend extension but it is not working, check that the server extension is enabled:

jupyter serverextension list

If the server extension is installed and enabled but you are not seeing the frontend, check the frontend is installed:

jupyter labextension list

If it is installed, try:

jupyter lab clean
jupyter lab build

🤝 Contributing

Set env variables

export DATASETS_ENDPOINT=http://<host:port>
export PROJECTS_ENDPOINT=http://<host:port>

Download and Configure Project

The jlpm command is JupyterLab's pinned version of yarn that is installed with JupyterLab. You may use yarn or npm in lieu of jlpm below.

# Clone the repo to your local environment
git clone https://github.com/platiagro/jupyterlab-extension.git
# Move to jupyterlab-extension directory
cd jupyterlab-extension

# Install server extension
pip install -e .
# Register server extension
jupyter serverextension enable --py jupyterlab_extension

# Install dependencies
jlpm
# Build Typescript source
jlpm build
# Link your development version of the extension with JupyterLab
jupyter labextension link .
# Rebuild Typescript source after making changes
jlpm build
# Rebuild JupyterLab after making any changes
jupyter lab build

Run Project Locally

You can watch the source directory and run JupyterLab in watch mode to watch for changes in the extension's source and automatically rebuild the extension and application.

# Watch the source directory in another terminal tab
jlpm watch
# Run jupyterlab in watch mode in one terminal tab
jupyter lab --watch

Uninstall Extension

pip uninstall jupyterlab_extension
jupyter labextension uninstall @platiagro/jupyterlab-extension

Publish Extension in npmjs.org

jlpm login
jlpm publish --access=public