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

@chartgpu/chartgpu

v0.3.2

Published

High-performance WebGPU charting library

Readme

GitHub Stars CI Status npm version NPM Downloads License: MIT Live Demo Examples Documentation

ChartGPU is a TypeScript charting library built on WebGPU for smooth, interactive rendering—especially when you have lots of data.

Demo

ChartGPU demo

Streaming Multi-Chart Dashboard

Five live charts. Annotations ticking in real time. Latency percentiles, throughput, error rates, resource utilization — all streaming simultaneously at 60 FPS on a single shared GPUDevice. This is what ChartGPU was built for.

Want to build your own? Check out the Multi-Chart Dashboard Cookbook for hands-on recipes and tips to get started!

Streaming multi-chart dashboard example

35M points (benchmark)

35,000,000 points rendered at ~72 FPS (benchmark mode).

35 million point benchmark at 72 FPS

Quick Start

import { ChartGPU } from 'chartgpu';
const container = document.getElementById('chart')!;
await ChartGPU.create(container, {
  series: [{ type: 'line', data: [[0, 1], [1, 3], [2, 2]] }],
});

Annotations

Add reference lines, point markers, and text overlays to highlight important data features:

await ChartGPU.create(container, {
  series: [{ type: 'line', data: [[0, 1], [1, 3], [2, 2]] }],
  annotations: [
    // Horizontal reference line
    {
      id: 'ref-y',
      type: 'lineY',
      y: 2.5,
      layer: 'belowSeries',
      style: { color: '#ffd166', lineWidth: 2, lineDash: [8, 6], opacity: 0.95 },
      label: { text: 'threshold' },
    },
    // Point marker at peak
    {
      id: 'peak',
      type: 'point',
      x: 1,
      y: 3,
      layer: 'aboveSeries',
      marker: { symbol: 'circle', size: 8, style: { color: '#ff4ab0' } },
      label: { template: 'peak={y}', decimals: 2 },
    },
  ],
});

See Annotations Documentation and the annotations example.

Highlights

Candlestick Charts

Financial OHLC (open-high-low-close) candlestick rendering with classic/hollow style toggle and color customization. The live streaming demo renders 5 million candlesticks at over 100 FPS with real-time updates.

Candlestick chart example

Scatter Density (1M points)

GPU-binned density/heatmap mode for scatter plots (mode: 'density') to reveal structure in overplotted point clouds. See docs/api/options.md#scatterseriesconfig and the demo in examples/scatter-density-1m/.

Scatter density chart example (1M points)

Interactive Annotation Authoring

Full-featured annotation authoring system with interactive editing capabilities. Create, edit, drag, and delete annotations with an intuitive UI. Supports all annotation types: reference lines (horizontal/vertical), point markers, text annotations (plot-space + data-space tracking), labels, and styling options.

Annotations comprehensive demo

Key features:

  • Right-click empty space → Add vertical/horizontal line or text note with custom color, style & label
  • Click & drag annotations → Reposition them (lines constrained to their axis)
  • Right-click on annotation → Edit properties or delete
  • Full styling control → Color picker, line style (solid/dashed), line width, and label customization
  • Undo/Redo support → All annotations are reversible
  • Scroll to zoom, Drag to pan → Standard chart interactions work seamlessly

Annotation configuration dialog

The annotation authoring system is demonstrated in the examples/annotation-authoring/ example.

Installation

npm install chartgpu

GitHub Packages:

npm install @chartgpu/chartgpu

For GitHub Packages, configure your .npmrc:

@chartgpu:registry=https://npm.pkg.github.com

React Integration

React bindings are available via chartgpu-react:

npm install chartgpu-react
import { ChartGPUChart } from 'chartgpu-react';

function MyChart() {
  return (
    <ChartGPUChart
      options={{
        series: [{ type: 'line', data: [[0, 1], [1, 3], [2, 2]] }],
      }}
    />
  );
}

See the chartgpu-react repository for full documentation and examples.

Browser support (WebGPU required)

  • Chrome 113+ or Edge 113+ (WebGPU enabled by default)
  • Safari 18+ (WebGPU enabled by default)
  • Firefox: Windows 114+, Mac 145+, Linux nightly

See the gpuweb repository for full Implementation Status

Who's Using ChartGPU

ChartGPU is a young project and we'd love to hear how you're using it! If your team or project uses ChartGPU, open a pull request to add your name here.

Documentation

Examples

  • Browse examples: examples/
  • Run locally:
    • npm install
    • npm run dev (opens http://localhost:5173/examples/)

Contributing

See CONTRIBUTING.md.

License

MIT — see LICENSE.

Architecture

ChartGPU follows a functional-first architecture. ChartGPU.create(...) owns the canvas and WebGPU lifecycle, delegating render orchestration to a modular render coordinator with 11 specialized modules.

For the full architecture diagram, see docs/ARCHITECTURE.md. For deep internal notes, see docs/api/INTERNALS.md.