Skip to main content

JupyterLab extension for easily locking cells, making them read-only and undeletable.

Project description

build PyPI version PyPI downloads

🔒 jupyterlab-cell-lock

GIF showing JupyterLab UI "Lock all cells" and "Unlock all cells" buttons in the toolbar and toggling lock on individual cells

A JupyterLab extension for easily locking cells, making them read-only and undeletable.

⚠️ Limitations

This is not a security feature. It is primarily for preventing accidental modifications.

The extension locks cells by modifying metadata in the notebook file. Any user with knowledge of JupyterLab or the notebook file format can edit or remove this metadata to bypass the lock.

You should always use source control for your notebooks.

📝 Requirements

📦 Installation

Install with pip:

pip install jupyterlab-cell-lock

Confirm installation:

jupyter labextension list

💡 Use Cases

  • Educators Distributing Assignments and Notes: Provide notebooks with text, problem descriptions, and code, helping prevent students from accidentally editing assignments/lecture notes while still allowing them to add their own notes/answers in new or designated cells.

  • Protecting Content: Lock your notebook to ensure you don't accidentally delete or modify your work while iterating.

  • Creating Templates: Lock down template notebooks used to standardize workflows.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jupyterlab_cell_lock-0.3.0.tar.gz (144.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jupyterlab_cell_lock-0.3.0-py3-none-any.whl (165.8 kB view details)

Uploaded Python 3

File details

Details for the file jupyterlab_cell_lock-0.3.0.tar.gz.

File metadata

  • Download URL: jupyterlab_cell_lock-0.3.0.tar.gz
  • Upload date:
  • Size: 144.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for jupyterlab_cell_lock-0.3.0.tar.gz
Algorithm Hash digest
SHA256 678c297b3044e7573523788f13bbe1662d37e97ef6a672d17563544df0cef4b6
MD5 d2cc965d53215454d16b1b5d2ca6e185
BLAKE2b-256 fa1e9a9f584b6e4c80bec47bf423d3f1614f1f57ec78025ceecc845f5bebfc47

See more details on using hashes here.

File details

Details for the file jupyterlab_cell_lock-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for jupyterlab_cell_lock-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 057de30f6344356c75376439d7f4e584af2a362bdfa6248a1227c7c5525c9788
MD5 d09fdce944a583da67634b3199b0919e
BLAKE2b-256 987ea522a81410f6a6605958ef55863b03ca46269882bd475dbb443fef0ded5e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page