serde_yaml

Strongly typed YAML serialization and deserialization for Rust, built on Serde

Library
Cargo
v0.9.34+deprecated
1,020stars
Apache License 2.0

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
50/100Fair
Development Activity0
Maintenance44
Community68
Maturity60
Momentum28

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
75/100Good
Architecture80
Code Quality78
Innovation65
Learning Curve75

serde_yaml plugs the YAML 1.1 data format into the Serde serialization framework, so any Rust type that derives Serialize/Deserialize can be converted to and from YAML documents with the same type safety Serde provides for JSON, TOML, and other formats. It supports structs, enums (including YAML’s !Tag variant syntax), maps, sequences, and Serde’s full derive-macro ecosystem, backed internally by unsafe-libyaml, a Rust port of libyaml.

The crate is authored by David Tolnay, maintainer of Serde itself, and has been a long-standing default choice for YAML handling in the Rust ecosystem — used for parsing configuration files, Kubernetes-style manifests, and CI definitions. As of the final 0.9.34 release the crate is explicitly marked deprecated/no-longer-maintained by its author, though the existing API remains usable and widely depended upon.

What You Get

  • serde_yaml::to_string / from_str for round-tripping any Serde-derived type through YAML
  • A Value enum for working with untyped/dynamic YAML documents when a concrete type isn’t known upfront
  • Support for YAML’s !Tag enum-variant syntax mapping onto Rust enum variants
  • A with module of helper (de)serializers for common non-default YAML representations
  • Integration with Serde’s full ecosystem of derive attributes (renames, defaults, flattening, etc.)

Common Use Cases

  • Loading application configuration files written in YAML into strongly typed Rust config structs
  • Parsing and generating Kubernetes-style or CI-pipeline YAML manifests programmatically
  • Converting between YAML and other Serde-supported formats (JSON, TOML) via a shared intermediate type
  • Working with untyped YAML documents via serde_yaml::Value when the schema isn’t known ahead of time

Under The Hood

Architecture - The crate implements Serde’s Serializer (src/ser.rs) and Deserializer (src/de.rs, ~1,850 lines) traits on top of an internal loader.rs that walks events produced by the bundled libyaml port, translating YAML’s node model (scalars, sequences, mappings, tagged variants) into Serde’s visitor callbacks; a separate value/ module provides an untyped Value enum and a mapping.rs ordered-map type for cases where the target schema isn’t known statically. Tech Stack - Pure Rust (edition 2021, MSRV 1.64), depending on unsafe-libyaml (a hand-ported, dependency-free Rust translation of the C libyaml parser) rather than an FFI binding, plus indexmap, itoa, and ryu for ordered maps and fast number formatting; it has no dependency on Serde beyond the core crate. Code Quality - tests/ covers deserialization (test_de.rs), serialization round-trips, error paths (test_error.rs), and the Value type separately, and the crate ships a fuzz/ target for the parser; the author (Serde’s maintainer) is known for rigorous API design, though the crate carries the +deprecated version suffix and the README states it is no longer maintained, so no further bug fixes should be expected upstream. API Design - The public API mirrors serde_json’s (to_string/from_str/Value) closely, which makes it near-zero-friction for anyone already familiar with Serde-based JSON handling, and the with module supplies ready-made (de)serializers for YAML-specific quirks like optional-vs-null distinctions.

Used by 22 apps in this directory

TypeScript
51%
MIT

Anarlog

Note Taking · AI Assistants · Productivity

9,087

Anarlog is an open-source, local-first AI meeting notetaker that records, transcribes, and summarizes meetings entirely on your device — no cloud lock-in, no mandatory account, and every note saved as a plain markdown file you own forever.

View details
86
Repo Health
77
Technical
69
Dependency
Built with
TypeScript51%
Rust38%
Updated today
Dart
74%
AGPL 3.0

AppFlowy

Productivity · Project Management · Collaboration

75,729

The open-source AI workspace that puts your data, your rules — with local LLMs, CRDT collaboration, and full self-hosting built in.

View details
66
Repo Health
81
Technical
66
Dependency
Built with
Dart74%
Rust24%
Updated 1 weeks ago
TypeScript
49%
AGPL 3.0

BrowserOS

Browser · AI Assistants

13,248

The open-source agentic Chromium browser with native AI agents, MCP server, and visual workflow automation — your data never leaves your machine.

View details
87
Repo Health
82
Technical
69
Dependency
Built with
TypeScript49%
Rust22%
Python16%
Updated today
JavaScript
35%
MPL 2.0

Zen Browser

Browser

43,977

A Firefox-based browser that puts focus, privacy, and workflow front-and-centre without sacrificing compatibility

View details
88
Repo Health
81
Technical
80
Dependency
Built with
JavaScript35%
Fluent28%
C++24%
Updated yesterday
Rust
87%
MIT

fabro

Developer Tools · Devops

1,516

Define AI agent workflows as code graphs, route tasks across any LLM, and intervene only where it matters.

View details
81
Repo Health
83
Technical
70
Dependency
Built with
Rust87%
TypeScript11%
Updated yesterday
TypeScript
75%
Apache 2.0

Fern

Developer Tools

3,761

Fern turns a single OpenAPI, AsyncAPI, or Protobuf definition into type-safe SDKs for nine languages and a hosted API documentation site, all from one CLI and one source of truth.

View details
90
Repo Health
86
Technical
67
Dependency
Built with
TypeScript75%
Updated today
Rust
72%
Other

iii

Developer Tools · Devops

18,604

Compose, extend, and observe every backend service in real time using three primitives: Workers, Functions, and Triggers.

View details
86
Repo Health
85
Technical
69
Dependency
Built with
Rust72%
TypeScript17%
Updated yesterday
TypeScript
75%
Other

Jan

AI Assistants

44,052

Run LLMs 100% locally with full privacy, or connect to cloud AI — your machine, your data, your control.

View details
90
Repo Health
81
Technical
66
Dependency
Built with
TypeScript75%
Rust21%
Updated today
Rust
47%
MIT

Kuku

Note Taking

204

A local-first, open-source Markdown knowledge workspace for macOS — plain files, personal wiki and Second Brain workflows, AI-assisted diffs, and encrypted sync, built as an Obsidian alternative.

View details
73
Repo Health
67
Technical
68
Dependency
Built with
Rust47%
TypeScript40%
Updated 1 months ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search