Skip to main content

Jupyter notebook for terminal

Project description

About

A Jupyter notebook client for your terminal. It aims to emulate the functionality of the classic Jupyter notebook. Built on the excellent textual framework with image support from textual-image.

Demo

demo

Getting started

The easiest way to get started is with uv. To try without installing

uvx --from netbook jupyter-netbook [my_notebook.ipynb]

Or install it with

uv tool install netbook
jupyter-netbook [my_notebook.ipynb]

Terminal Support

Terminal Status Image Support Shift/Ctrl+Enter Support Notes
Kitty ✅ TGP ✅ Out of the box Remap some keybindings
Foot ✅ Sixel ✅ Out of the box Sixel support is flaky
Contour ✅ Sixel ✅ Out of the box
ITerm2 ✅ Sixel ✅ Out of the box ITerm2 image protocal would probably be supported in the future
Wezterm ✅ TGP ✅ Requires remapping
Windows Terminal ✅ Sixel ✅ Requires remapping Things kind of work, sometimes...
Ghosty 🤷 ✅ TGP ✅ Out of the box I expect textual support of ghosty to improve
Alacritty 🤷 ✅ Requires remapping It is quite unlikely that alacritty will support images
Tmux 🤷 ✅ Sixel 🤷 Not out of the box Not sure how to remap the key bindings
Zellij ✅ Out of the box Sixels seems to confuse it quite a bit

Frequently asked questions

Q: Why are icons in the toolbar all jumbled up?

A: You need to have Font Awesome installed. Or you can download nerd fonts that already have the glyphs patched in.

Q: How can I start other kernels?

A: You can use --kernel argument. It accepts kernel names shown by jupyter-kernelspec list.

Q: How to remap the keys in my terminal?

A: Here are snippets for a selection of terminal emulators:

  • Kitty. Add the following to ~/.config/kitty/kitty.conf

    # Send ctrl+shift+minus to netbook
    map --when-focus-on title:netbook kitty_mod+minus
    
  • Wezterm. Add the following to ~/.config/wezterm/wezterm.lua

    local wezterm = require 'wezterm';
    
    return {
      -- ...
    
      keys = {
        {key="Enter", mods="CTRL", action=wezterm.action{SendString="\x1b[13;5u"}},
        {key="Enter", mods="SHIFT", action=wezterm.action{SendString="\x1b[13;2u"}},
        {key="Enter", mods="ALT", action=wezterm.action{SendString="\x1b[13;3u"}},
      },
    }
    
  • Windows Terminal. Add the following to settings.json file

    {
      // ...
    
      "keybindings":
      [
        { "command": { "action": "sendInput", "input": "\u001b[13;5u" }, "keys": "ctrl+enter" },
        { "command": { "action": "sendInput", "input": "\u001b[13;2u" }, "keys": "shift+enter" },
        { "command": { "action": "sendInput", "input": "\u001b[13;3u" }, "keys": "alt+enter" }
      ]
    }
    
    
    

Euporie, a related project, has some examples

Development

To get set up just run

uv sync
uv run jupyter-netbook

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

netbook-0.3.1.tar.gz (2.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

netbook-0.3.1-py3-none-any.whl (24.3 kB view details)

Uploaded Python 3

File details

Details for the file netbook-0.3.1.tar.gz.

File metadata

  • Download URL: netbook-0.3.1.tar.gz
  • Upload date:
  • Size: 2.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for netbook-0.3.1.tar.gz
Algorithm Hash digest
SHA256 63cd8f4a661a140b2ba95944a65437c305ef35784dcc4565ffd5e3fd7bfcb2c3
MD5 c77a7e6496b5aba5706116a7e9afeb06
BLAKE2b-256 9853b084eebe895e50395ca97b5cf913f2fca560fbec4b01f95fdb3301927113

See more details on using hashes here.

Provenance

The following attestation bundles were made for netbook-0.3.1.tar.gz:

Publisher: python-publish.yml on lyovushka/netbook

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file netbook-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: netbook-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 24.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for netbook-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 21634d4807cbc620cab3618efbd86110cde49670ccc9f75d083400ffeda481c9
MD5 509b32f6643f52fc2428cf21de72ab5e
BLAKE2b-256 4e82ca2c08f5b200912f395a5839164003fc7a5d647fa00bd2350e2e4565f3dc

See more details on using hashes here.

Provenance

The following attestation bundles were made for netbook-0.3.1-py3-none-any.whl:

Publisher: python-publish.yml on lyovushka/netbook

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page