Ross ROSS = Recommend OSS · open-source software intelligence for agents

facet-rs/facet

Rust reflection, serialization, deserialization, pretty printing, etc. — the last proc macro you should need observed · 2026-08-28

github.com/facet-rs/facet · homepage · Rust · Apache-2.0 (permissive) observed · 2026-08-28

Health v2 · maintenance only

82/100

  • Activity 99
  • Release rhythm 86
  • Longevity 38
How is this computed?

round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-03. Adoption (stars, forks) is never an input.

  • gap_med: 0.0
  • age_days: 541
  • days_rel: 13
  • days_push: 7
  • n_releases_24m: 1845

Full methodology

Adoption not part of the score

2570 stars · 128 forks observed · 2026-08-28

What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-30, confidence not recorded

Facet is a Rust reflection ecosystem: a single derive macro gives types a runtime SHAPE description (fields, variants, attributes, layout) that other crates consume. On top of that core it provides serialization/deserialization for JSON, TOML, YAML, MessagePack, CSV, XML and more, plus pretty-printing, diffing, and introspection tooling.

Use cases

  • serialize rust structs to json without serde
  • reflect on struct fields at runtime in rust
  • pretty-print rust values with sensitive field redaction
  • generate schemas from rust types
  • diff two rust structs structurally
  • deserialize config files into typed rust structs
  • introspect type metadata via a derive macro

When to choose

  • you want one derive to power serialization, introspection, diffing, and pretty-printing instead of separate serde/other derives
  • you need runtime access to type structure (fields, attributes, invariants) in Rust
  • you want span-aware serialization errors or sensitive-field redaction

When to avoid

  • you need the mature, battle-tested serde ecosystem with maximal format and community support
  • your project requires stable 1.0 APIs — facet is still pre-1.0 and evolving
  • you only need basic JSON serialization and already use serde

Facets

library · maturity active

serialization parser developer-tools plugin-system developer-tools programming-languages apis rust cross-platform reflection proc-macro introspection type-shape serde-alternative pretty-printing schema-generation structural-diffing

3 sources

Member repositories

RepositoryRoleHealth v2
facet-rs/facetmain82

For agents

markdown · JSON · MCP: product_card(name="facet-rs/facet")

Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem