facet-rs

    facet-rs/facet

    Rust reflection, serialization, deserialization, pretty printing, etc. — the last proc macro you should need

    backend
    debugging
    deserialization
    introspection
    reflection
    rust
    Rust
    Apache-2.0
    2.6K stars
    133 forks
    2.6K GitHub watchers
    Updated Nov 1, 2026
    View on GitHub

    Build with Backblaze B2

    SDKs, agent skills, IDE extensions, and reference pipelines from Backblaze Labs. All open source.

    Explore Backblaze Labs

    Loading star history...

    Where it stands

    Rank, growth pace and release cadence relative to everything GStars tracks.

    5 releases in the last 90 days, the latest 74 days ago, with 90 contributors on GitHub.

    Gained 69% fewer stars in the last 90 days than in the 90 days before.

    Use Cases & Benefits

    • Provides Rust reflection capabilities including serialization, deserialization, and pretty printing via a proc macro.
    • Enables detailed type introspection with a SHAPE constant for layout, fields, and attributes, simplifying complex Rust type manipulations.
    • Use for building custom serializers and deserializers supporting multiple data formats like JSON, TOML, and YAML.
    • Use for developing rich debugging tools or CLI parsers that require runtime type information and reflection.
    • Use for generating code or integrating Rust types with templating engines and external systems requiring type metadata.

    Should you depend on it?

    License terms, project hygiene and risks, from GitHub metadata and GStars' snapshots.

    License

    Apache 2.0

    Permissive: commercial use, modification and redistribution are allowed with attribution; includes an explicit patent grant from contributors.

    Community files

    • README: present
    • Contributing guide: present
    • Code of conduct: present

    Watch-outs

    No watch-outs from GStars' checks.

    General guidance from repository metadata, not legal advice. How we score

    From the README

    facet provides reflection for Rust: it gives types a SHAPE associated const with details on the layout, fields, doc comments, attributes, etc.

    It can be used for many things, from (de)serialization to pretty-printing, rich debuggers, CLI parsing, reflection in templating engines, code generation, etc.

    See https://facet.rs for details.

    Various crates live under the https://github.com/facet-rs umbrella, and their repositories are kept somewhat-consistent through facet-dev.

    Crates are in various states of progress, buyer beware!

    Excerpt from the facet-rs/facet README on GitHub (Apache-2.0 license). © its authors.Read the full README on GitHub

    Daily snapshots

    Stars gained per day, and how forks and open issues moved, from GStars' daily snapshots

    Forks

    133+6

    Open issues

    159+13

    Compared with peers in Backend

    Fastest-growing repositories GStars tracks in this cohort for the week of Nov 1, by 7-day star growth

    facet-rs/facet compared with Backend repositories by stars, 7-day star growth, health score and last release
    RepositoryStars+7dHealthLast release
    anthropics/skills187.8K+2.9K15—
    DuarteSantos8/openGym19.7K+2.4K602 days ago
    shiyu-coder/Kronos47.0K+2.3K16—
    NationalSecurityAgency/ghidra98.2K+2.3K6414 days ago
    microsoft/VibeVoice56.0K+1.1K29—
    facet-rs/facet2.6K—6174 days ago
    Category median56.0K+2.3K29—

    Discover Repositories

    Search across tracked repositories by name or description