Skip to content

xlt208/jupyterlab-todo-list

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jupyterlab_todo_list

Build Status

Keep lightweight to-dos inside JupyterLab. This extension adds a persistent side panel that lets you add, check off, and delete tasks while working in notebooks. Items are cached locally and synced to a small REST endpoint so they follow you between sessions.

jupyterlab-todo-list-demo.mov

This project’s code and docs are primarily authored with AI assistance; human maintainers review and ship the resulting changes.

Requirements

  • JupyterLab >= 4.0.0

Install

pip install jupyterlab_todo_list

The Python package is published on PyPI, and the labextension bundle is on npm as @xlt208/jupyterlab-todo-list for anyone integrating it into custom builds. A normal pip install brings in the Python backend plus the bundled frontend automatically—no extra npm step required.

Use

  1. Launch JupyterLab.
  2. Open the command palette or launcher and run Open To-Do List.
  3. Add tasks in the left side panel. Items are saved automatically.

The panel reopens on the next Lab session and restores your last task list.

Notebook-derived tasks

When the Show notebook TODOs setting is enabled (default), the extension scans .ipynb files for lines that match # TODO:. Each match appears in the panel as a read-only entry labeled with the originating notebook path. Use the refresh button to re-scan notebooks, and click Open on any imported task to jump directly to the source notebook. Toggle the setting off if you want the panel to show only manually entered items.

Uninstall

pip uninstall jupyterlab_todo_list

Contributing

Development install

The jlpm command is JupyterLab's pinned version of Yarn and is already bundled with Lab. NodeJS (>=18) must be available on your PATH.

git clone https://github.com/xlt208/jupyterlab-todo-list.git
cd jupyterlab_todo_list

python -m venv .venv
source .venv/bin/activate
pip install --editable ".[test]"

jlpm install
jlpm build
jupyter labextension develop . --overwrite

During development you can keep the TS build and Lab running in watch mode:

jlpm watch   # terminal 1
jupyter lab  # terminal 2

To undo the editable install run pip uninstall jupyterlab_todo_list and remove the jupyterlab-todo-list symlink reported by jupyter labextension list.

Testing the extension

jlpm test          # Jest unit tests
jlpm lint:check    # prettier + eslint + stylelint
jlpm playwright test # UI tests (see ui-tests/README.md for setup)

Packaging the extension

See RELEASE

About

A lightweight todo side panel for JupyterLab that lets you add and manage tasks.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors