jupyterlab_advanced_paste_content_extension
Paste a screenshot or a file into JupyterLab and have it land as a real file. The extension intercepts the paste, writes the payload into the folder you are working in, and gives the surface that received the paste a reference to that file instead of a blob of inline content. A plain-text paste is left alone.
A screenshot pasted into a markdown cell becomes a PNG on disk plus an image link. A copied file becomes a copy in the current folder. Text stays text.
Features
- Screenshots become files - a pasted bitmap is written as PNG named
paste-20260920-191530.pngin the folder holding the document, instead of a base64 blob inside the notebook - Pasted files are copied in - a file copied from a file manager lands in the current folder under its own name; several files at once all arrive
- The reference suits the surface -
in a markdown file or markdown cell,"name"in a code cell so it drops intoplt.imread(), the bare name in a text file - Rich HTML becomes markdown - only on the two surfaces that render it; a text file, a code cell and a terminal take the plain-text flavour, which is what a normal paste already gives them
- A terminal gets a path it can use - the file lands in the folder the file browser shows, and the terminal receives the path to it from the shell's own working directory, escaped for the shell; Claude Code and the other AI assistant terminals included
- Nothing is written twice - an identical payload references the file already in the folder, and a name clash never overwrites
- Server-side write - the file is created through a Jupyter server endpoint, so it lands in the server's workspace rather than the browser sandbox, and writes cannot escape the server root
The full behaviour of every content type on every surface is in docs/design-content-types.md.
Requirements
- JupyterLab >= 4.0.0
Install
To install the extension, execute:
pip install jupyterlab_advanced_paste_content_extension
Uninstall
To remove the extension, execute:
pip uninstall jupyterlab_advanced_paste_content_extension
Release files for jupyterlab-advanced-paste-content-extension 1.0.2
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_advanced_paste_content_extension-1.0.2.tar.gz | 224.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jupyterlab_advanced_paste_content_extension-1.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 277.3 kB
Release files / jupyterlab_advanced_paste_content_extension-1.0.2.tar.gz
| Download URL | jupyterlab_advanced_paste_content_extension-1.0.2.tar.gz |
|---|---|
| Size | 224.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
710092703256559b920f41cb55be68ea0d6e668de1d5ff127d5e8b9cf28ed348
|
|
BLAKE2b-256 checksum How to use checksums |
bc5ef205cc2b1644905726e0ca3268e9a98f7779b32e1ebfd8b9ea07ab346206
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.15
|
Release files / jupyterlab_advanced_paste_content_extension-1.0.2-py3-none-any.whl
| Download URL | jupyterlab_advanced_paste_content_extension-1.0.2-py3-none-any.whl |
|---|---|
| Size | 52.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5bc52b68906f32d0d2e24f6a2d938147450e3ed2d67e326c464f0ce2598fa701
|
|
BLAKE2b-256 checksum How to use checksums |
7e638a18ed11362805b6437d082d1e2c2d3e2ead813503746490bbf645794efd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.15
|