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

@invana/graph-datasets

v0.0.14

Published

Example graph datasets for @invana/graph (Les Misérables, scientists org chart, random tree, etc.).

Downloads

540

Readme

@invana/graph-datasets

Ready-to-render example graphs for @invana/graph — each one engine-ready data plus the settings that make it look right.

pnpm add @invana/graph-datasets

A dataset is a folder

Every dataset lives in src/<name>/ as a single data.ts exporting two halves — data (what to draw, as @invana/graph's GraphData) and settings (how it should look, as @invana/canvas's CanvasConfig) — so a complete visualisation is two props and no glue:

import { lesMiserables, lesMiserablesSettings } from '@invana/graph-datasets';

<GraphCanvasApp data={lesMiserables} config={lesMiserablesSettings} />

Moving to one subpath per dataset (@invana/graph-datasets/les-miserables → { data, settings }) — see docs/graph-datasets-folder-exports-plan.md. The folder names below are stable across that change.

The datasets

24 sets, largest first. Bold is the layout settings.activeLayout selects; the rest are layouts the data supports. † = under @invana/graph-datasets/usecase-demos; ‡ = its own subpath (too large for the main bundle). Counts are the shipped value — generated sets show their default parameters.

| Dataset | Kind | Nodes | Edges | Layouts | What it is | |---|---|---:|---:|---|---| | h1b2019 | hierarchy | 24 683 | 24 682 | hierarchy (radial) · pack · force | H-1B 2019 state → city → employer. Four levels, thousands of leaves. | | game-of-thrones ‡ | network | 4 959 | 28 679 | force · geometric | Houses · characters · locations · seasons. The scale test. | | air-routes | geo | 2 980 | 0 | none — a map projection places them | World airports (lng/lat on data) + a land TopoJSON basemap. | | cora † | network | 2 708 | 10 556 | force · geometric | The Cora citation benchmark; type is the paper's subject area. | | wikipedia-dataviz ‡ | network | 2 085 | 5 409 | none — positions are the data · force | Sigma.js data-viz knowledge map; 24 topic clusters + its own meta-graph. | | invana-code-kg † | network | 602 | 1 329 | force · elk | This repo as a code knowledge graph — files · functions · classes, plus clusters, a guided tour and provenance. | | rag-embeddings † | point cloud | 402 | 0 | none — positions are the data | A 2-D embedding projection over five topics. The clustering is the picture. | | lattice | network | 400 | 760 | force · geometric | A 20×20 grid. Regular structure to sanity-check a layout against. Generated. | | life-tree | hierarchy | 381 | 380 | hierarchy (radial) · tree · force | Tree of life parsed from Newick; branch lengths on data.length. | | old-faithful | point cloud | 272 | 0 | none — positions are the data | Eruption duration vs waiting time. A scatter plot rendered as a graph. | | flare-imports | hierarchy | 252 | 906 | force · hierarchy (radial) | Flare plus synthetic leaf→leaf imports, for edge bundling. Tree and import edges are kept apart. | | flare | hierarchy | 252 | 251 | hierarchy (tree) · radial · cluster · pack · force | The Flare package tree — the canonical d3-hierarchy fixture. Also ships the nested tree. | | citations † | network | 150 | 402 | force · geometric | Synthetic paper citations across five ML topics. | | random-tree | hierarchy | 120 | 119 | force · hierarchy (tree) | A generated random tree — throwaway structure at any size. | | twitter | network | 99 | 196 | force · elk | Synthetic activity graph — users · tweets · comments · retweets · hashtags. Generated. | | les-miserables | network | 77 | 254 | force · elk · geometric | Hugo character co-occurrence (Knuth, Stanford GraphBase). The small dense classic. | | uk-energy-flow | flow | 48 | 68 | sankey | UK energy supply → conversion → end use. Ribbon width is the datum. | | invana-architecture † | diagram | 43 | 33 | none — hand-placed | The Invana pipeline, hand-placed with parentId containment. | | ontology † | network | 29 | 36 | force · elk | A business ontology — companies · people · products · locations. | | microservices † | network | 20 | 34 | force · elk | A service topology with tier, health and RPS per node. | | computing-pioneers † | network | 10 | 7 | force · elk | Ten pioneers with avatars — the composite-card fixture. | | agent-trace † | DAG | 9 | 9 | elk (layered, down) · hierarchy (tree) | An LLM agent run: prompt → tools → decision → response. Three presets; the first is the default. | | star-schema † | schema | 4 | 3 | elk (layered, right) | A fact table and its dimensions, as ER cards with typed fields. | | modeller-seed † | diagram | 3 | 1 | none — hand-placed | Three seeded nodes — the empty-canvas starting point for the modeller. |

Kinds. network — structure is the data, geometry comes from a layout. hierarchy — a rooted tree flattened to parent→child edges (the nested tree ships too). flow — directed magnitudes; edge weight is the point. DAG — a directed run/trace; ordering is the data. schema — a meta-graph of entity kinds, not instances. point cloud / geo / diagram — the node positions are the information, so activeLayout is ''; running a solver over one destroys the picture.

Mounting a layout. settings.activeLayout names an id the consumer must have mounted. graph-force ships in the <GraphCanvasApp> bundle, so force sets drop straight in. Hierarchy and Sankey sets use the id layout (mount D3HierarchyLayout — the mode is already in the settings — or D3SankeyLayout); agent-trace uses the id elk (mount ElkLayout).

Adding a dataset

See CLAUDE.md — the authoring contract (engine-ready records, type as the discriminator, offline transforms in scripts/, settings as pure JSON) and the four steps.