# uhop/stream-json

A micro-library of stream components for building custom JSON and JSONC processing pipelines with a minimal memory footprint — parse, filter, and transform JSON far larger than available memory with a SAX-inspired token API, on Node.js or Web Streams.

Repository: https://github.com/uhop/stream-json
Canonical: https://ross.abutalabs.com/products/stream-json
Language: JavaScript
License: BSD-3-Clause
License Family: permissive
Topics: streaming-json, parser, filter, json, json-parser, jsonc, large-files, memory-efficient, nodejs, pipeline, sax, stream, streaming, tokenizer, web-streams
Last push: 2026-08-21T03:22:44+00:00

## Health v2 (maintenance only)
Score: 76/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 98, release rhythm 35, longevity 100
- inputs: {"age_days": 4771, "days_push": 12, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1195, forks 53 (observed 2026-08-28T04:03:56.901322+00:00)

## What it is
stream- is a micro-library of composable stream components for parsing, filtering, and transforming JSON and JSONC with a minimal memory footprint. It uses a SAX-inspired token API so documents far larger than available memory can be processed one piece at a time on Node.js or Web Streams.

## Use cases
- parse huge  files larger than memory
- stream  array elements one at a time
- filter and pick subobjects from a large  document
- convert  token streams into javascript objects
- process c files with comments
- build custom  processing pipelines with node streams

## When to choose
- your  documents are too large to load with JSON.parse
- you need constant-memory streaming of selected parts of a  document
- you want composable pipeline stages mixing filters, streamers, and custom transforms
- you need a SAX-style event API for  tokens

## When to avoid
- your  files are small enough for JSON.parse
- you need random access to arbitrary parts of a document rather than sequential streaming
- you need a full DOM-style  query engine like jq or path

## Facets
- artifact type: library
- maturity: stable
- function: parser, serialization, streaming, developer-tools
- domain: parsers, files, developer-tools
- platform: bun, browser
- tags: c, sax-inspired, memory-efficient, stream-pipeline, large-files, tokenizer, web-streams, data-engineering, nodejs, deno, javascript

## Member repositories
- uhop/stream-json (main) score 76

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:03:56.901322+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:22:07.652611+00:00, confidence not recorded.
  - readme: https://github.com/uhop/stream-json (fetched 2026-08-28T04:03:56.901322+00:00, sha 1cb19482ee3f)
  - registry_npm: https://registry.npmjs.org/stream-json (fetched 2026-08-29T12:29:04.659751+00:00, sha 10919c64a961)
- Data as of 2026-08-30T08:39:29.467469+00:00.
