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.2.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.2-py3-none-any.whl (165.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jupyterlab_cell_lock-0.3.2.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.2.tar.gz
Algorithm Hash digest
SHA256 6144e31ae0fe9b0b0661cb94e2e3544d643e2a1f65e2e874f3201b75f21b6893
MD5 3daed6af2374b7af143f9fe6d9804d5c
BLAKE2b-256 8c5ea9afb79d0cc9fea3fc9ea685e2e0b299684cf936e8af3fb23423747ac3b0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jupyterlab_cell_lock-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 deacf269ed66487a264c4b5d4b5b728adc87df72d56b4235f55fac3e620a5e49
MD5 9eae58edcee752acc4741c1277475d42
BLAKE2b-256 2cff0ab6281791cd6f9bd490ebf926dcc1a501a84a2c9ec3139c1ebca86711f3

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