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 🙏

© 2025 – Pkg Stats / Ryan Hefner

termplot.nu

v0.1.21

Published

Beautiful plots in your terminal.

Downloads

15

Readme

Termplot

Beautiful plots in your terminal.

Screenshot

Overview

Termplot renders the most beautiful and advanced plots directly inside your terminal by running a web app inside an ephemeral web browser, taking a screenshot, and using modern escape codes to render the image.

Installation

Any Shell

In bash, zsh, or any other shell, you can install Termplot globally with npm:

npm install -g termplot.nu

However, this form of Termplot opens a new browser window for every call, making plots render a bit slowly. You can render plots much faster by using the Nushell plugin instead.

Nushell Plugin

If you are in Nushell, you can access the advanced form of Termplot that manages a browser automatically in the background.

Instead of simply installing termplot globally, you can install the plugin.

First, install Termplot in your project with pnpm:

pnpm install termplot.nu

Then, add the Termplot plugin to your current Nushell environment:

plugin add node_modules/.bin/nu_plugin_termplot

Finally, you must "use" the plugin and source the Termplot script:

plugin use termplot
source node_modules/termplot.nu/termplot.nu

Usage

In Bash or Zsh

Simply pipe a Plotly configuration JSON file directly into Termplot in any terminal that supports the iterm image protocol:

cat plotly-config.json | termplot

This will render the plot in your terminal.

You can see examples in ./examples.

Learn how to write Plotly configuration files in their documentation.

In Nushell

If you have followed the Nushell plugin installation instructions above, you can pipe a Nushell value directory into Termplot. Do this by using the open command in Nushell instead of the cat command. Termplot will manage the browser window automatically, so that subsequent calls to Termplot will render plots almost instantly.

open plotly-config.json | termplot

Compatibility

Termplot only supports the iTerm image protocol, which works in iTerm2 and WezTerm.

Plotting Tools

Termplot currently only supports Plotly plots.

How it Works

Termplot finds an open port, runs a React Router / express web app, runs a puppeteer web browser, and navigates to the web app, loading the desired plot, taking a screenshot of the plot, rendeirng the screenshot in the terminal, and then exiting.

Dependencies

These tools make Termplot possible:

TODO

  • [x] Cat files into termplot and render the images in iTerm2/Wezterm
  • [x] Support config templates for easy plotting: See beautiful.nu
  • [ ] Support png file output
  • [ ] Support other image protocols for other terminals
  • [ ] Support other plotting libraries
  • [x] Nushell plugin to hold browser open for faster rendering
  • [ ] Provide serve alternative for viewing interactive plots in a browser

Copyright (C) 2025 Ryan X. Charles