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

@irongraph/client

v0.1.5

Published

JavaScript and React client for an embeddable graph database with automatic local embeddings and vector search.

Readme

IronGraph for JavaScript and React

Connect JavaScript and React to a GPU-first temporal graph database with built-in streaming and queues.

Query graph relationships, text documents, text and vectors, temporal property history, and graph analytics; administer Streams and Queues through Cypher. @irongraph/client provides a typed Query API client and React hooks for a running IronGraph instance. The browser package is remote-only; the database runs in a separate process. IronGraph is open-source software released under the Apache License 2.0.

Database capabilities

| Capability | What you can do | | --- | --- | | Graph queries and analytics | Match relationships and paths with Cypher; run shortest paths, PageRank, connected components, and community detection. | | Temporal properties and analysis | Retain property history, read values with AT TIME, inspect samples with HISTORY, and aggregate with time windows and maintained rollups. | | Text documents and search | Store the full text of articles, notes, manuals, and other written content on graph nodes; search that text with text and vector indexes and automatic local embeddings. | | Built-in Kafka-compatible Streams | Produce and consume events through supported Kafka clients; manage topics, partitions, retention, and consumer-lag monitoring. | | Built-in AMQP-compatible Queues | Use classic and stream queues, direct/fanout/topic exchanges, bindings, and retention with supported AMQP clients. |

Cypher handles graph operations, temporal analysis, search, and stream/queue administration. Message producers and consumers use the supported Kafka or AMQP protocols through the instance's configured listeners. The SDK query interface does not replace those protocol clients.

Explicit projects and the OBSERVED, KNOWLEDGE, and WORKSPACE layers organize data. Indexes and unique constraints, transactions, asynchronous write-ahead logging, recovery, and periodic snapshots are part of the database.

The standalone instance serves its web console at http://127.0.0.1:18484/web/ by default and also supports local MCP access. Start the official standalone distribution before opening that address. Opening an embedded database through Python, Node.js, or Rust does not start a web server or expose the console. For a configured remote instance, use its HTTPS address followed by /web/, with the required browser-managed client certificate.

Temporal reads apply to declared properties within their retention window. Graph topology and ordinary properties are read in their current state.

Install

You need a browser with Fetch and streaming response support, an ES module application, and React 18 or later if using the React exports. After configuring the official npm package source supplied with your release:

npm install @irongraph/client

The matching release must be available in that source. React is supplied by your application; the plain JavaScript client does not require it.

Query a local instance

For this example, run an official IronGraph instance on loopback port 18484. In its Query console, create a project with CREATE PROJECT IF NOT EXISTS notes. Serve the browser application from the instance's origin so the request has same-origin access.

import { Client } from '@irongraph/client'

const client = new Client('http://127.0.0.1:18484')
const result = await client.query({
  cypher: "USE notes RETURN 'Connected to IronGraph' AS message",
})
console.log(result.rows[0][0].value)

Expected output: Connected to IronGraph. Next, query your project's text document nodes using MATCH (document:Document) RETURN document.body after USE notes.

Use React

With the same local prerequisites, render this component in your application:

import { IronGraphProvider, useIronGraphQuery } from '@irongraph/client/react'

function Connection() {
  const { result, error, loading } = useIronGraphQuery({
    cypher: "USE notes RETURN 'Connected to IronGraph' AS message",
  })
  if (loading) return <p>Connecting…</p>
  if (error) return <p>{String(error)}</p>
  return <pre>{JSON.stringify(result?.rows)}</pre>
}

export default function App() {
  return (
    <IronGraphProvider baseUrl="http://127.0.0.1:18484">
      <Connection />
    </IronGraphProvider>
  )
}

Expected result: the typed row containing Connected to IronGraph appears. The hook exposes local loading and error states and cancels the previous request when its inputs change or the component unmounts. Next, replace the statement with your application's graph query.

Query the graph, text documents, and search

Cypher provides text document updates, vector search, indexes, temporal data, algorithms, and stream and queue administration through POST /api/query, subject to your credential's permissions. Text documents are ordinary graph nodes whose complete text participates in graph relationships and declared embedding indexes. Select a project explicitly; there is no implicit default. OBSERVED, KNOWLEDGE, and WORKSPACE distinguish source facts, curated facts, and working data.

Remote deployments require HTTPS and browser-managed mutual TLS certificates authorized for the required project and operations. Plain HTTP is loopback-only. The database process selects one CPU, Metal, or optional CUDA device; GPU admission rejects graphs and indexes that do not fit. Embedding runs in the database process, with no generative language model hosted by IronGraph.

Native database release targets are macOS 15+ ARM64 and Linux with glibc 2.28+ on ARM64 or AMD64. These package build baselines apply to the database host; check its release qualification results before deploying. The browser client does not contain a native database binary.

License

IronGraph is licensed under the Apache License 2.0.