jupyterlab_basic_terminal_extension
Launch a utility terminal in JupyterLab that runs without a shell. Perfect for spawning short-lived console utilities that close their tab automatically when the underlying process exits, instead of leaving behind an idle shell prompt.
Features
- Shell-less terminal command - Adds a JupyterLab command that opens a terminal bound directly to a utility process, with no surrounding shell
- Auto-close on exit - Terminal tab closes as soon as the utility process finishes, keeping the workspace tidy
- Server extension companion - Python
jupyter_serverextension exposes the route used by the frontend to spawn the process - JupyterLab 4 native - Built against
@jupyterlab/application4.x and ships as a prebuilt federated extension
Installation
Requires JupyterLab 4.0.0 or higher, and bash on the server - the terminal
initialisation step uses bash-specific syntax, so a sh-only image will not work.
pip install jupyterlab_basic_terminal_extension
Usage
The extension deliberately adds no menu item, palette entry or launcher tile. Its
entire surface is one command, invoked programmatically by other extensions,
notebook code, or a jupyter_app_launcher tile:
await app.commands.execute('basic-terminal:launch', {
argv: ['/opt/utils/my-utility.sh'],
cwd: 'projects/demo'
});
argv(required) - non-empty array of strings.argv[0]is executed directly; there is no shell, so no globbing, pipes or redirectioncwd(optional) - absolute path used as-is, or a server-relative path resolved againstServerApp.root_dir(''is the root). Omit it and the current file browser folder is used, unless the browser is on a registered non-default drive - such a drive is not assumed to map onto the server filesystem, so the server's own working directory is used instead. A path that does not resolve to a directory is rejected with HTTP 400
The command resolves to the terminal widget, and rejects if the process exits before the widget can be displayed.
Uninstall
To remove the extension, execute:
pip uninstall jupyterlab_basic_terminal_extension
Metadata
Release files for jupyterlab-basic-terminal-extension 1.0.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jupyterlab_basic_terminal_extension-1.0.7.tar.gz | 315.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jupyterlab_basic_terminal_extension-1.0.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 349.0 kB
Release files / jupyterlab_basic_terminal_extension-1.0.7.tar.gz
| Download URL | jupyterlab_basic_terminal_extension-1.0.7.tar.gz |
|---|---|
| Size | 315.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6fe58062c9abbfe91976408775f9975c45ad43a1054ef37aad0d6c7df6762376
|
|
BLAKE2b-256 checksum How to use checksums |
17e23df3fdbf922ab37726b1349f54e8d666e37a8e749af9346dfa28fa87ced2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.15
|
Release files / jupyterlab_basic_terminal_extension-1.0.7-py3-none-any.whl
| Download URL | jupyterlab_basic_terminal_extension-1.0.7-py3-none-any.whl |
|---|---|
| Size | 33.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
aba13c39c632f607661d9b3533bd75312baaa871dee5b4ff263545b62f1ceec2
|
|
BLAKE2b-256 checksum How to use checksums |
0fd4f6794d361ad081b7e4b10a2724c4c96b2b992c79aafe00b0f85b4cb2aa9a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.15
|