{"adoption": {"forks": 303, "observed_at": "2026-08-28T04:06:13.252199+00:00", "stars": 2096}, "canonical_url": "https://ross.abutalabs.com/products/protostuff", "card": {"archived": false, "artifact_type": "library", "description": "Java serialization library, proto compiler, code generator", "domain": ["developer-tools", "backend", "apis"], "enriched": true, "function": ["serialization", "parser", "json"], "health_score": 29, "homepage": "https://protostuff.github.io", "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["protostuff/protostuff"], "name": "protostuff/protostuff", "platform": ["jvm", "cross-platform"], "pushed_at": "2025-04-02T04:29:11+00:00", "repo": "protostuff/protostuff", "stars": 2096, "tags": ["protobuf", "schema-evolution", "code-generation", "rpc", "datastore"], "topics": ["protostuff", "java", "protobuf", "serialization", "json", "graph"], "urls": [], "use_cases": ["serialize java objects to protobuf format", "replace java serialization with a faster binary format", "schema evolution for stored data with forward-backward compatibility", "efficient messaging format for rpc", "compact storage format for datastore or cache", "generate protobuf schemas from pojos at runtime", "convert objects to and from json"], "what_it_is": "Protostuff is a Java serialization library with built-in forward-backward compatibility (schema evolution) and validation, supporting pluggable formats like protobuf, JSON, and graph. It includes a proto compiler and code generator, and can serialize POJOs without pre-written schemas via runtime schema generation.", "when_to_avoid": ["you need cross-language serialization with first-class support beyond the JVM", "your project is not on Java 1.6+ or the JVM ecosystem", "you need human-readable serialization as the primary format"], "when_to_choose": ["you need efficient, memory-friendly binary serialization on the JVM", "you want protobuf compatibility without writing .proto files for existing POJOs", "your data schema evolves over time and you need compatibility across versions", "you need a fast messaging or cache storage format in Java"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/protostuff", "repo": "protostuff/protostuff", "role": "main", "score": 29}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.252199+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:54:37.911828+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d9131eb2666e6ee8ac3fc9e73bf6dc312052343db6689dbfd8833f98e5d4f7fe", "fetched_at": "2026-08-28T04:06:13.252199+00:00", "kind": "readme", "missing": false, "url": "https://github.com/protostuff/protostuff"}, {"content_hash": "87bfa84de94a5e78dc9f13bb611c1f092ffebbb10d5e1ac7128cc56b41f0744a", "fetched_at": "2026-08-29T10:34:53.027085+00:00", "kind": "homepage", "missing": false, "url": "https://protostuff.github.io"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.252199+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:54:37.911828+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d9131eb2666e6ee8ac3fc9e73bf6dc312052343db6689dbfd8833f98e5d4f7fe", "fetched_at": "2026-08-28T04:06:13.252199+00:00", "kind": "readme", "missing": false, "url": "https://github.com/protostuff/protostuff"}, {"content_hash": "87bfa84de94a5e78dc9f13bb611c1f092ffebbb10d5e1ac7128cc56b41f0744a", "fetched_at": "2026-08-29T10:34:53.027085+00:00", "kind": "homepage", "missing": false, "url": "https://protostuff.github.io"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:54:37.911828+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d9131eb2666e6ee8ac3fc9e73bf6dc312052343db6689dbfd8833f98e5d4f7fe", "fetched_at": "2026-08-28T04:06:13.252199+00:00", "kind": "readme", "missing": false, "url": "https://github.com/protostuff/protostuff"}, {"content_hash": "87bfa84de94a5e78dc9f13bb611c1f092ffebbb10d5e1ac7128cc56b41f0744a", "fetched_at": "2026-08-29T10:34:53.027085+00:00", "kind": "homepage", "missing": false, "url": "https://protostuff.github.io"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.252199+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.252199+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.252199+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:54:37.911828+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d9131eb2666e6ee8ac3fc9e73bf6dc312052343db6689dbfd8833f98e5d4f7fe", "fetched_at": "2026-08-28T04:06:13.252199+00:00", "kind": "readme", "missing": false, "url": "https://github.com/protostuff/protostuff"}, {"content_hash": "87bfa84de94a5e78dc9f13bb611c1f092ffebbb10d5e1ac7128cc56b41f0744a", "fetched_at": "2026-08-29T10:34:53.027085+00:00", "kind": "homepage", "missing": false, "url": "https://protostuff.github.io"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.252199+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.252199+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:54:37.911828+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d9131eb2666e6ee8ac3fc9e73bf6dc312052343db6689dbfd8833f98e5d4f7fe", "fetched_at": "2026-08-28T04:06:13.252199+00:00", "kind": "readme", "missing": false, "url": "https://github.com/protostuff/protostuff"}, {"content_hash": "87bfa84de94a5e78dc9f13bb611c1f092ffebbb10d5e1ac7128cc56b41f0744a", "fetched_at": "2026-08-29T10:34:53.027085+00:00", "kind": "homepage", "missing": false, "url": "https://protostuff.github.io"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.252199+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.252199+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.252199+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:54:37.911828+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d9131eb2666e6ee8ac3fc9e73bf6dc312052343db6689dbfd8833f98e5d4f7fe", "fetched_at": "2026-08-28T04:06:13.252199+00:00", "kind": "readme", "missing": false, "url": "https://github.com/protostuff/protostuff"}, {"content_hash": "87bfa84de94a5e78dc9f13bb611c1f092ffebbb10d5e1ac7128cc56b41f0744a", "fetched_at": "2026-08-29T10:34:53.027085+00:00", "kind": "homepage", "missing": false, "url": "https://protostuff.github.io"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.252199+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.252199+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:54:37.911828+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d9131eb2666e6ee8ac3fc9e73bf6dc312052343db6689dbfd8833f98e5d4f7fe", "fetched_at": "2026-08-28T04:06:13.252199+00:00", "kind": "readme", "missing": false, "url": "https://github.com/protostuff/protostuff"}, {"content_hash": "87bfa84de94a5e78dc9f13bb611c1f092ffebbb10d5e1ac7128cc56b41f0744a", "fetched_at": "2026-08-29T10:34:53.027085+00:00", "kind": "homepage", "missing": false, "url": "https://protostuff.github.io"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:54:37.911828+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d9131eb2666e6ee8ac3fc9e73bf6dc312052343db6689dbfd8833f98e5d4f7fe", "fetched_at": "2026-08-28T04:06:13.252199+00:00", "kind": "readme", "missing": false, "url": "https://github.com/protostuff/protostuff"}, {"content_hash": "87bfa84de94a5e78dc9f13bb611c1f092ffebbb10d5e1ac7128cc56b41f0744a", "fetched_at": "2026-08-29T10:34:53.027085+00:00", "kind": "homepage", "missing": false, "url": "https://protostuff.github.io"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:54:37.911828+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d9131eb2666e6ee8ac3fc9e73bf6dc312052343db6689dbfd8833f98e5d4f7fe", "fetched_at": "2026-08-28T04:06:13.252199+00:00", "kind": "readme", "missing": false, "url": "https://github.com/protostuff/protostuff"}, {"content_hash": "87bfa84de94a5e78dc9f13bb611c1f092ffebbb10d5e1ac7128cc56b41f0744a", "fetched_at": "2026-08-29T10:34:53.027085+00:00", "kind": "homepage", "missing": false, "url": "https://protostuff.github.io"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:54:37.911828+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d9131eb2666e6ee8ac3fc9e73bf6dc312052343db6689dbfd8833f98e5d4f7fe", "fetched_at": "2026-08-28T04:06:13.252199+00:00", "kind": "readme", "missing": false, "url": "https://github.com/protostuff/protostuff"}, {"content_hash": "87bfa84de94a5e78dc9f13bb611c1f092ffebbb10d5e1ac7128cc56b41f0744a", "fetched_at": "2026-08-29T10:34:53.027085+00:00", "kind": "homepage", "missing": false, "url": "https://protostuff.github.io"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 14, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4609, "days_push": 518, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 29, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}