jupyterlab_notebook_awareness
A JupyterLab extension that tracks a user's current notebook and cell.
What it is and what it does
This is a JupyterLab frontend extension that automatically tracks and broadcasts each user's current notebook and active cell to the collaborative awareness state. When you open a notebook or click on a cell, the extension updates two fields—`activeCellId` and `notebookPath`—that are shared with all other connected users, allowing real-time visibility into who is looking at what.
The extension works transparently: awareness state updates automatically when you open a notebook, switch cells, or refresh the page. Other applications or extensions can then query the awareness object to see which notebook and cell each user is currently viewing, enabling features like presence indicators or activity tracking in collaborative environments.
Use it for:
- Show presence indicators in a shared notebook so collaborators know which cells others are actively viewing.
- Log or audit which notebooks and cells users access during a collaborative session.
- Build a user activity dashboard that displays real-time awareness of who is working on which notebook.
- Coordinate focus during pair programming by tracking which cell each developer is currently editing.
- Implement smart notifications that alert users only when activity occurs in cells they are viewing.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
A JupyterLab extension that tracks which notebook and cell each user is currently viewing, adding that awareness data to the collaborative state so other users can see it.
Yes, if you run JupyterLab 4.0.0 or later and need to track user presence across notebooks and cells in a collaborative setting. The extension has low install friction, no external dependencies, and is actively maintained. Install only if you have a specific use case for awareness data; it adds no visible UI on its own but enables other tools to build on it.
Install
jupyterlab-notebook-awareness on PyPI
pip
pip install jupyterlab-notebook-awarenessuv
uv add jupyterlab-notebook-awarenesspoetry
poetry add jupyterlab-notebook-awarenessInstalling jupyterlab_notebook_awareness
Before you install
Low friction: pure Python wheel with no runtime dependencies. Actively maintained with recent releases and a live repository.
License in practice
BSD 3-Clause License permits commercial and private use with minimal restrictions; you must retain copyright notice and license text in distributions.
Quickstart
pip install jupyterlab_notebook_awareness
# Then in JupyterLab, access awareness data:
const awareness = notebook?.model?.sharedModel?.awareness;
const allStates = awareness?.getStates();
const localState = awareness?.getLocalState();
Requires JupyterLab >= 4.0.0; extension is a frontend plugin and runs only within JupyterLab, not standalone.
Verify before relying
- Whether the extension requires JupyterLab 4.0.0 or later to function (stated in description but not in requires_python)
- Whether awareness state persists across page refreshes or is lost on reconnect
- Performance impact when tracking many concurrent users in a single notebook
Package facts
| License | BSD 3-Clause License Copyright (c) 2025, Zach Sailer All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 302 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 80,222/month — #14,306 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: jupyterlab_notebook_awareness-0.2.0-py3-none-any.whl
Keywords: jupyter, jupyterlab, jupyterlab-extension
Tags
More Application Frameworks packages
FastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
textualTextual is a Python framework for building…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
mcpBuild and connect to Model Context Protocol…
permissive · top 1,000 on PyPI
WerkzeugWerkzeug is a WSGI utility library providing…
permissive · top 1,000 on PyPI
jupyterlab-chatA JupyterLab extension that adds a chat…
permissive · top 15,000 on PyPI
jupyterlab-execute-timeA JupyterLab extension that displays the…
permissive · top 15,000 on PyPI
jupyter-ai-toolsA Jupyter Server extension that exposes file…
permissive · top 15,000 on PyPI
jupyter-server-fileidA Jupyter Server extension that provides a File…
permissive · top 5,000 on PyPI
jupyter-server-documentsA JupyterLab extension that moves document…
permissive · top 15,000 on PyPI
jupyter-collaborationAdds real-time collaborative editing to…
permissive · top 15,000 on PyPI
jupyter-collaboration-uiAdds real-time collaboration UI elements to…
permissive · top 15,000 on PyPI
jupyter-blackA Jupyter Notebook and JupyterLab extension…
permissive · top 15,000 on PyPI
jupyter_bokehRenders Bokeh visualizations directly within…
permissive · top 15,000 on PyPI
jupyter-docproviderAdds real-time collaborative editing to…
permissive · top 15,000 on PyPI