Name | jupyterlab-cell-lock JSON |
Version |
0.1.1
JSON |
| download |
home_page | None |
Summary | JupyterLab extension for easily locking cells, making them read-only and undeletable. |
upload_time | 2025-08-31 21:38:58 |
maintainer | None |
docs_url | None |
author | Jordan Bradford |
requires_python | >=3.9 |
license | BSD 3-Clause License
Copyright (c) 2025, Jordan Bradford
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
keywords |
jupyter
jupyterlab
jupyterlab-extension
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
[](https://github.com/jrdnbradford/jupyterlab-cell-lock/actions/workflows/build.yaml)
[](https://pypi.org/project/jupyterlab-cell-lock/)
# 🔒 jupyterlab-cell-lock

A JupyterLab extension for easily locking cells, making them read-only and undeletable.
## ⚠️ Limitations
This extension modifies the cell metadata (`editable` and `deletable` fields) in the notebook file. This is _not_ a security feature. Any user with knowledge of JupyterLab or the notebook file format can manually edit or remove this metadata to bypass the lock. It is primarily for preventing accidental modifications, not intentional ones. You should always use source control for your code.
## 📝 Requirements
- JupyterLab >= 4.0, < 5
## 📦 Installation
```sh
pip install jupyterlab-cell-lock
```
# 💡 Use Cases
## Educators and Instructors
- **Distributing Assignments**: You can provide a template notebook with introductory text, problem descriptions, or starter code in read-only cells. This prevents students from accidentally deleting or changing the core parts of the assignment, while still allowing them to add their answers in new or designated cells.
- **Interactive Lecture Notes**: Share lecture notebooks with pre-populated, locked cells containing explanations and examples. Students can run the code, add their own notes, or experiment without altering your content.
## Students and Learners
- **Protecting Content**: When working with course material, tutorials, and assignments you can lock your notebook to ensure you don't accidentally delete or modify your work while experimenting with new cells.
## Researchers and Teams
- **Sharing Analyses and Code**: When sharing a notebook, you can lock the cells containing the final results, plots, and key methodology. This helps others on your team run the notebook and see the output without risk of accidentally changing the notebook.
- **Creating Templates**: Lock down template notebooks used for standard data analysis workflows. This ensures everyone on the team uses the same core steps while allowing them to add their own custom analyses.
Raw data
{
"_id": null,
"home_page": null,
"name": "jupyterlab-cell-lock",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "jupyter, jupyterlab, jupyterlab-extension",
"author": "Jordan Bradford",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/4f/e0/53bdbfca2c363e53d43f8336755339e9afa1d4a1ef385042dddd64fdb0ce/jupyterlab_cell_lock-0.1.1.tar.gz",
"platform": null,
"description": "[](https://github.com/jrdnbradford/jupyterlab-cell-lock/actions/workflows/build.yaml)\n[](https://pypi.org/project/jupyterlab-cell-lock/)\n\n# \ud83d\udd12 jupyterlab-cell-lock\n\n\n\nA JupyterLab extension for easily locking cells, making them read-only and undeletable.\n\n## \u26a0\ufe0f Limitations\n\nThis extension modifies the cell metadata (`editable` and `deletable` fields) in the notebook file. This is _not_ a security feature. Any user with knowledge of JupyterLab or the notebook file format can manually edit or remove this metadata to bypass the lock. It is primarily for preventing accidental modifications, not intentional ones. You should always use source control for your code.\n\n## \ud83d\udcdd Requirements\n\n- JupyterLab >= 4.0, < 5\n\n## \ud83d\udce6 Installation\n\n```sh\npip install jupyterlab-cell-lock\n```\n\n# \ud83d\udca1 Use Cases\n\n## Educators and Instructors\n\n- **Distributing Assignments**: You can provide a template notebook with introductory text, problem descriptions, or starter code in read-only cells. This prevents students from accidentally deleting or changing the core parts of the assignment, while still allowing them to add their answers in new or designated cells.\n\n- **Interactive Lecture Notes**: Share lecture notebooks with pre-populated, locked cells containing explanations and examples. Students can run the code, add their own notes, or experiment without altering your content.\n\n## Students and Learners\n\n- **Protecting Content**: When working with course material, tutorials, and assignments you can lock your notebook to ensure you don't accidentally delete or modify your work while experimenting with new cells.\n\n## Researchers and Teams\n\n- **Sharing Analyses and Code**: When sharing a notebook, you can lock the cells containing the final results, plots, and key methodology. This helps others on your team run the notebook and see the output without risk of accidentally changing the notebook.\n\n- **Creating Templates**: Lock down template notebooks used for standard data analysis workflows. This ensures everyone on the team uses the same core steps while allowing them to add their own custom analyses.\n",
"bugtrack_url": null,
"license": "BSD 3-Clause License\n \n Copyright (c) 2025, Jordan Bradford\n All rights reserved.\n \n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are met:\n \n 1. Redistributions of source code must retain the above copyright notice, this\n list of conditions and the following disclaimer.\n \n 2. Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n \n 3. Neither the name of the copyright holder nor the names of its\n contributors may be used to endorse or promote products derived from\n this software without specific prior written permission.\n \n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE\n FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\n DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER\n CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,\n OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.",
"summary": "JupyterLab extension for easily locking cells, making them read-only and undeletable.",
"version": "0.1.1",
"project_urls": {
"Bug Tracker": "https://github.com/jrdnbradford/jupyterlab-cell-lock/issues",
"Homepage": "https://github.com/jrdnbradford/jupyterlab-cell-lock",
"Repository": "https://github.com/jrdnbradford/jupyterlab-cell-lock.git"
},
"split_keywords": [
"jupyter",
" jupyterlab",
" jupyterlab-extension"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "97bdb3c97b79fc619446a4a5d9e9578908a0d2210687f289b87e82cca8f89df3",
"md5": "9c92eb73f1a2137e88dae0d91d38c558",
"sha256": "0da2e4a5d3e613502460b940092d6ee326a9fd0acace94b63b8466d0cddd436d"
},
"downloads": -1,
"filename": "jupyterlab_cell_lock-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "9c92eb73f1a2137e88dae0d91d38c558",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 209021,
"upload_time": "2025-08-31T21:38:57",
"upload_time_iso_8601": "2025-08-31T21:38:57.184740Z",
"url": "https://files.pythonhosted.org/packages/97/bd/b3c97b79fc619446a4a5d9e9578908a0d2210687f289b87e82cca8f89df3/jupyterlab_cell_lock-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "4fe053bdbfca2c363e53d43f8336755339e9afa1d4a1ef385042dddd64fdb0ce",
"md5": "df0504fe7016b0da845bfc616723aecc",
"sha256": "db9491984399c196dd5e00a7af8b8ed77ddd5a7e40524adddfc18f85d1a5e4c1"
},
"downloads": -1,
"filename": "jupyterlab_cell_lock-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "df0504fe7016b0da845bfc616723aecc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 157658,
"upload_time": "2025-08-31T21:38:58",
"upload_time_iso_8601": "2025-08-31T21:38:58.670229Z",
"url": "https://files.pythonhosted.org/packages/4f/e0/53bdbfca2c363e53d43f8336755339e9afa1d4a1ef385042dddd64fdb0ce/jupyterlab_cell_lock-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-31 21:38:58",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "jrdnbradford",
"github_project": "jupyterlab-cell-lock",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "jupyterlab-cell-lock"
}