| Crates.io | facet |
| lib.rs | facet |
| version | 0.29.1 |
| created_at | 2025-04-06 09:40:29.469658+00 |
| updated_at | 2025-09-18 14:43:58.02592+00 |
| description | Re-exports the Facet trait and derive macros, along with Shape and all related types |
| homepage | |
| repository | https://github.com/facet-rs/facet |
| max_upload_size | |
| id | 1622740 |
| size | 264,000 |
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.
The main facet crate re-exports symbols from:
Facet trait and implementations for foreign types (mostly libstd)Shape struct along with various vtables and the whole Def treePtrUninit, PtrConst, and Opaquefacet-macrosFacet derive attribute as a fast/light proc macro powered by unsynnFor struct manipulation and reflection, we have:
Internal crates include:
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!
In terms of data formats, we have:
Still adjacent to serialization/deserialization, we have:
As far as utilities go:
And the less developed:
Some crates are developed completely independently from the facet org:
MultiArrayList typeThanks to all individual sponsors:
...along with corporate sponsors:
...without whom this work could not exist.
The facet logo was drawn by Misiasart.
Licensed under either of:
at your option.