npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@narumitw/pi-jupyter

v0.1.4

Published

Pi extension: right-side Jupyter notebook preview while editing .ipynb files.

Readme

pi-jupyter

A Pi extension that shows a right-side, terminal-native preview for Jupyter notebooks (.ipynb) while you edit them with Pi.

The preview is a static text rendering of notebook cells and selected text outputs. It is not a running Jupyter kernel or browser webview.

Features

  • Right-side notebook preview overlay in Pi's TUI.
  • Auto-updates when Pi reads, writes, or edits an .ipynb file.
  • Watches the selected notebook on disk and refreshes after external saves.
  • Displays markdown cells, code cells, execution counts, common text outputs/errors, and inline image outputs when the terminal supports images.
  • Non-capturing by default, so you can keep typing in Pi while the panel stays visible.
  • Mouse-resizable right-side panel: drag the preview's left border to change its width.
  • Focus mode for scrolling the preview.

Install

Install from npm globally:

pi install npm:@narumitw/pi-jupyter

Or pin a version:

pi install npm:@narumitw/[email protected]

Install for the current project only:

pi install npm:@narumitw/pi-jupyter -l

Install from GitHub/tag instead of npm:

pi install git:github.com/narumiruna/[email protected]

If you previously installed the unscoped package, remove it before installing the scoped package:

pi remove npm:pi-jupyter
pi install npm:@narumitw/pi-jupyter

Local development install

Use one source at a time. If npm:@narumitw/pi-jupyter is installed globally and this repo is also installed locally with -l, Pi will load both and report shortcut conflicts.

For temporary local testing, prefer:

pi -e .

For a persistent project-local install:

pi install . -l

If you also have an npm package installed globally, remove one source before starting Pi:

# Keep the npm package; remove the project-local package from this repo
pi remove . -l

# Or keep the local package; remove the global npm package
pi remove npm:@narumitw/pi-jupyter

# If you installed the older unscoped package, remove that too
pi remove npm:pi-jupyter

Development

npm install
just check
just format
pre-commit install

Publish to npm. This runs biome check . first via the justfile, then npm publish --access public:

npm login
just publish

If npm requires two-factor authentication, pass the one-time password:

just publish 123456

After publishing succeeds, this install command will work:

pi install npm:@narumitw/pi-jupyter

Preview the npm package without publishing:

just publish-dry-run

Commands

  • /jupyter-preview [path] — open or refresh the right-side notebook preview.
  • /jupyter-preview-toggle [path] — toggle the preview.
  • /jupyter-preview-focus — focus the panel so arrow keys can scroll it.
  • /jupyter-preview-refresh — reload the current notebook from disk.
  • /jupyter-preview-close — close the preview.

Shortcuts

  • F8 — toggle preview.
  • Shift+F8 — focus preview for scrolling.
  • Ctrl+Alt+J / Ctrl+Alt+K — scroll preview down/up without focusing it.
  • Ctrl+Alt+D / Ctrl+Alt+U — page down/up without focusing it.
  • Drag the preview panel's left border with the mouse to resize it.
  • In focused preview: , , PgUp, PgDn, Home or j, k, u, d, g scroll; Esc or F8 returns focus to the editor.

Notes

PNG outputs are rendered as truecolor ANSI thumbnails, so matplotlib-style image/png output is visible in Ghostty even inside the right-side overlay. Other image formats use @mariozechner/pi-tui terminal image support when available, otherwise they fall back to an image placeholder.

The panel auto-hides on narrow terminals (< 90 columns). Resize wider if it does not appear. Mouse resizing uses standard terminal mouse reporting; if your terminal reserves mouse drag for selection, use Shift-drag (or your terminal's selection modifier) to select text instead.

If shortcuts conflict with Pi/editor keybindings, use the slash commands:

  • /jupyter-preview-down [lines]
  • /jupyter-preview-up [lines]
  • /jupyter-preview-page-down
  • /jupyter-preview-page-up
  • /jupyter-preview-top