Registry / devops / jupyter-server-terminals

jupyter-server-terminals

JSON →
library0.5.4pypypiunverified

Jupyter Server Terminals is a Jupyter Server Extension that provides robust terminal support within the Jupyter environment. It allows users to run system shells directly in their web browser, offering functionalities akin to a local terminal. The library is actively maintained, with regular releases focusing on bug fixes and maintenance, and is currently at version 0.5.4. It requires Python >=3.8.

devopsweb-framework
pip install jupyter_server_terminals
Install & Compatibility
Where this runs
tested against v0.5.4 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
glibc
py 3.10
4/5 runs
4/5 runs
py 3.11
4/5 runs
4/5 runs
py 3.12
4/5 runs
4/5 runs
py 3.13
4/5 runs
4/5 runs
py 3.9
4/5 runs
4/5 runs
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Extension configuration
This library is primarily a Jupyter Server extension. Direct Python imports for programmatic end-user terminal creation or management are not its primary interface. Its functionality is exposed via the Jupyter Server and its web UI (JupyterLab/Notebook).
Users typically interact with terminals via the Jupyter web interface after installing the extension. For advanced server-side configuration, one would interact with the Jupyter Server's extension management system, not direct imports from jupyter_server_terminals.

Install the `jupyter_server_terminals` extension along with `jupyterlab` (or `notebook`). Once installed, start JupyterLab from your terminal. The terminal functionality will be automatically available within the JupyterLab interface. You can open a new terminal from the Launcher or through the File menu.

pip install jupyter_server_terminals jupyterlab jupyter lab
Debug
Known issues
breakingJupyter Server Terminals versions 0.5.0 and newer explicitly require Jupyter Server 2.0+ to function correctly. Older versions of Jupyter Server will result in an error during extension loading.
fix
Upgrade your `jupyter-server` installation to version 2.0 or higher: `pip install --upgrade jupyter-server`.
affects: >=0.5.0
gotchaThe 'Terminals Service' transitioned from a core Jupyter Service to a Jupyter Server extension in Jupyter Server 2.0. While most end-users won't notice, this impacts how the service is managed and can be optionally disabled, which is relevant for sensitive deployment environments or advanced configurations.
fix
Be aware of this architectural change if you're developing extensions that interact directly with Jupyter Server services or managing custom deployments. The service can now be managed as a standard Jupyter extension.
affects: All versions with Jupyter Server >=2.0
gotchaJupyter environments (including terminals) can suffer from memory issues, leading to unresponsive sessions or saving errors. This is often due to poor 'server hygiene,' such as not closing notebooks/terminals, excessive output, or inefficient code.
fix
Always close and halt notebooks (`File > Close and Halt`) and exit terminals (`exit` command) when not in use. Minimize the number of open tabs and avoid printing excessively large outputs. Re-use variables instead of creating multiple copies of large data in memory.
affects: All versions
gotchaOn *nix shells in JupyterLab, the default keyboard shortcut for copying (Ctrl+Shift+C) can conflict with the default shortcut for toggling the command palette (`apputils:activate-command-palette`).
fix
If experiencing conflicts, consider changing the keyboard shortcut for either copy or the command palette in JupyterLab's settings. Alternatively, use Ctrl+Shift+V for paste, which works as usual, or hold Shift and right-click for the native browser context menu (though this may not work in all browsers).
affects: All versions in JupyterLab
breakingThe test script failed with a `SyntaxError` because `pip install` was used as a Python statement. `pip install` is a shell command and cannot be run directly as Python code within a script. This prevents the library from being installed and evaluated.
fix
Execute `pip install` commands in a shell environment (e.g., command line, shell script, or via `subprocess` in Python), not as direct Python code within a `.py` file.
affects: All versions (execution environment issue)
breakingThe test or installation script attempted to execute a shell command (e.g., `pip install`) directly within a Python script, leading to a `SyntaxError`. This prevents the specified libraries from being installed and the rest of the script from running.
fix
Ensure shell commands are run in a shell environment (e.g., your terminal) or use Python's `subprocess` module to execute them programmatically from within a script. For package installation, run `pip install <package_names>` in your command line interface before executing your Python script.
affects: All versions (of scripts attempting this execution method)
Upgrade
Version history
0.5.4latest on PyPI
Audit
Dependencies
jupyter-serverrequiredThis is a Jupyter Server extension and requires Jupyter Server to function.
terminadorequiredProvides the backend for terminal emulation and websocket communication.
Agent activity
54 hits · last 30 days
node
6
ahrefsbot
3
seranking-bot
2
Resources