yaml/libyaml logo

yaml/libyaml

Free

Canonical source repository for LibYAML

FreeFree tier
Type
Open Source

About yaml/libyaml

LibYAML is a C library for parsing and emitting YAML (YAML Ain't Markup Language). It provides low-level and high-level APIs for processing YAML data. The library is released under the MIT license and was developed as part of Google Summer of Code under the mentorship of Clark Evans. It is the canonical reference implementation for YAML in C, supporting YAML 1.1 specification. The library can be built with autotools or CMake and is available on GitHub with over 1,100 stars.

Key Features

YAML parsing and emitting
C library with low-level and high-level APIs
Cross-platform build via autotools and CMake
MIT licensed
Supports YAML 1.1 specification

Pros & Cons

Pros
  • Lightweight C library with minimal dependencies
  • Stable and mature (last release 2020)
  • MIT license allows commercial use
  • Canonical reference for YAML in C
  • Used by PyYAML and other projects
Cons
  • Limited to YAML 1.1 (not 1.2)
  • Last release in 2020, may lack recent updates
  • C-only; requires bindings for other languages
  • Documentation is sparse on the GitHub page

Best For

Embedding YAML support in C/C++ applicationsReading and writing YAML configuration filesBuilding YAML tools and utilitiesProcessing YAML data streams

FAQ

What is LibYAML?
LibYAML is a C library for parsing and emitting YAML data. It is the canonical source repository for the LibYAML project.
What license does LibYAML use?
LibYAML is released under the MIT license.
Who developed LibYAML?
The LibYAML module was written by Kirill Simonov under Google Summer of Code mentorship of Clark Evans, and is currently maintained by the YAML community.
How to install LibYAML?
To build and install, run: ./configure; make; make install. If checking from Git, first run ./bootstrap. Required packages: gcc, libtool, make, and autoconf for Git builds.