Skip to content
This repository has been archived by the owner on Feb 29, 2024. It is now read-only.

QuantStack/jupyterlab-chat

Repository files navigation

jupyterlab_chat

CAUTION This project is abandoned in favor of its counterpart jupyter-chat

Github Actions StatusBinder

A chat extension for Jupyterlab

This package is composed of a Python package named jupyterlab_chat for the server side and a NPM package named @jupyterlab/chat for the frontend side.

Requirements

  • JupyterLab >= 4.0.0

Install

To install the package, execute:

pip install jupyterlab_chat

Uninstall

To remove the package, execute:

pip uninstall jupyterlab_chat

Contributing

Development install

Note: You will need NodeJS to build the extension package.

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
# Change directory to the jupyterlab_chat directory
# Install package in development mode
pip install -e ".[test]"
# Rebuild Typescript source after making changes
jlpm build

By default, the jlpm build command generates the source maps for this package to make it easier to debug using the browser dev tools.

Development uninstall

pip uninstall jupyterlab_chat

Testing the package

Server tests

This extension is using Pytest for Python code testing.

Install test dependencies (needed only once):

pip install -e ".[test]"

To execute them, run:

pytest -vv -r ap --cov jupyterlab_chat

Frontend tests

This extension is using Jest for JavaScript code testing.

To execute them, execute:

jlpm
jlpm test

Integration tests

This extension uses Playwright for the integration tests (aka user level tests). More precisely, the JupyterLab helper Galata is used to handle testing the extension in JupyterLab.

More information are provided within the ui-tests README.

Packaging the extension

See RELEASE