{"repo":"facet-rs/facet","free":true,"listed":false,"github":"https://github.com/facet-rs/facet","clone":"git clone https://github.com/facet-rs/facet.git","description":"Rust reflection, serialization, deserialization, pretty printing, etc. — the last proc macro you should need","language":"Rust","stars":2565,"topics":["deserialization","rust","rust-lang","serialization","debugging","introspection","reflection"],"license":"Apache-2.0","category":"dev-tools","readme_excerpt":"facet facet is an ecosystem of Rust crates built on runtime reflection. The core crates give types a SHAPE associated constant with their kind, layout, fields, documentation, attributes, and type-specific operations. facet-reflect builds, reads, and mutates values through those shapes while preserving their invariants. Serialization and integration crates build on that reflection layer: JSON, TOML, YAML, MessagePack, Postcard, ASN.1, XDR, CSV, XML, URL-encoded forms, SQLite, Axum, schema generation, structural diffing, and more. Some related projects now live in their own repositories: - Figue for CLI and configuration loading - Styx for typed configuration documents - Dibs for Postgres schemas and queries - Phon for schema-aware binary encoding - Vox for cross-language RPC - Weavy for lowered programs and copy-patch execution - Snark for parser generation - Vixen for the Vix language and runtime Website note The website has a lot of information about a lot of the ecosystem but it's unfortunately not super reliable as LLMs have been doing too much of the writing (on account on Amos being burned out). This is being slowly repaired. Bear with us. Workspace contents The main facet crate re-exports symbols from: - facet-core, which defines the main components: - The [ Facet ] trait and implementations for foreign types (mostly libstd ) - The [ Shape ] struct along with various vtables and the whole [ Def ] tree - Type-erased pointer helpers like [ PtrUninit ], [ PtrConst ], and [","default_branch":null,"files":null,"tree":[],"storefront":"/r/facet-rs","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/facet-rs/facet/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}