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.1.tar.gz (180.5 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.1-py3-none-any.whl (312.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jupyterlab_cell_lock-0.3.1.tar.gz
  • Upload date:
  • Size: 180.5 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.1.tar.gz
Algorithm Hash digest
SHA256 ba57ea3cd4968c2ea3168771dbef4a629bb6dde215f5ff09526e34625f5b96e5
MD5 55cc050cd213d09bf6228fdac57d7d1d
BLAKE2b-256 39c944c9cf88cabc091da4da6dacc22c842965d5f884ddc39e41b9a732000da4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jupyterlab_cell_lock-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 29dff629bf77146ab1a9b80493e4b32599198100e18368c53a90ba7923fe3e95
MD5 d5cb8963f99bd471b9471cbceca4de61
BLAKE2b-256 3e699ac6791eb8883376117d78dee763160e0ccf898359f65295cde69eeb014f

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