Interactive Plotly figures inside Astrohacker TermSurf. Pipe Plotly JSON or open a JSON file, explore the overlay, and press Esc to keep a still image in the terminal scrollback.
This implementation replaces the former TermPlot renderer and the bundled
ahplt command. It is installed separately, but plotting currently requires
Astrohacker TermSurf. Support for other terminals is not implemented here.
The older TermPlot Nushell plugin/module API is not a compatibility contract.
Install from the shared Astrohacker Homebrew tap on a supported Apple-silicon Mac:
brew trust astrohackerlabs/astrohacker
brew tap astrohackerlabs/astrohacker
brew install termplot
termplot --version
termplot --helpInstall Astrohacker TermSurf separately. The formula does not install or own
TermSurf. Running this prebuilt package does not require Bun, Node or Playwright.
If an older installation owns termplot on PATH, identify and uninstall or
unlink that package first; do not force-overwrite its files.
Inside an Astrohacker TermSurf pane:
'{"data":[{"x":[1,2,3],"y":[2,1,4],"type":"scatter"}]}' | termplot
termplot --file plot.json--width and --height set maximum overlay dimensions in terminal cells.
Identity/help work outside TermSurf; plotting does not.
The standalone source includes TermPlot, its required shared UI subset, and the four local WebBuf packages it uses. Install Bun, then from this checkout:
bun install --frozen-lockfile
bun run build
bun run typecheck
bun run lint
bun run format:check
code/termplot/ts/termplot/dist/termplot --versionKeep dist/termplot, build/client, public, and package.json together
under the package root. The executable resolves Homebrew-style symlinks to
find those resources. bun run test includes a development screenshot test
that requires Playwright's browser; that is not a product runtime dependency.
Astrohacker first-party code is MIT-licensed; see LICENSE. Third-party runtime
components retain their own licenses. Release archives carry notices alongside
the executable and resources. Earlier TermPlot source remains in Git history.
The existing public website/ and historical issue records are preserved;
they describe the earlier implementation and are not the new install contract.