For yaml serialization, the strongest matches are aaubry/yamldotnet (YamlDotNet is a comprehensive library for the), symfony/yaml (This is a dedicated PHP library for parsing and) and nodeca/js-yaml (This library provides a robust programmatic interface for parsing). dtolnay/serde-yaml and goccy/go-yaml round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.
Find the best YAML serialization libraries for your project. Compare top-rated GitHub repositories by activity and features to pick the right one.
YamlDotNet is a YAML serialization library and data mapping tool for .NET. It functions as a parser and generator that converts between .NET objects and YAML formatted text for data storage and configuration. The project provides capabilities for YAML document parsing and data object mapping. It transforms YAML streams into low-level representations or high-level object models for programmatic analysis and converts structured data objects back into valid YAML strings. The library covers general data serialization and configuration file management, allowing application data structures to be m
YamlDotNet is a comprehensive library for the .NET ecosystem that provides robust parsing, generation, and object mapping capabilities for YAML data structures.
This project is a PHP library that serves as a configuration file processor, providing a bridge to translate human-readable YAML text into native PHP arrays and objects. It functions as both a parser for converting YAML content into application-ready data structures and a serializer for transforming PHP data back into formatted YAML strings. The library includes security protections designed to prevent memory exhaustion and stack overflow attacks when processing untrusted documents. It ensures structural integrity through syntax validation and provides a command-line utility to check files fo
This is a dedicated PHP library for parsing and serializing YAML data, providing the core functionality needed to integrate YAML processing into your applications.
js-yaml is a JavaScript library providing a programmatic interface for parsing and dumping YAML data. It functions as a parser and serializer that converts YAML strings into JavaScript objects and transforms JavaScript objects back into YAML format. The library includes a command-line interface for parsing or dumping YAML data via direct input or data pipes. It also features an abstract syntax tree transformer to modify the structure of data during serialization. The project provides capabilities for multi-document processing and the definition of custom schemas and tags to handle specialize
This library provides a robust programmatic interface for parsing and serializing YAML in JavaScript, including support for custom schemas and multi-document processing.
Serde-yaml is a serialization library for the Rust programming language that facilitates the conversion of complex data structures into YAML format and the deserialization of YAML text into strongly typed objects. It functions as a data format converter, enabling the transformation of structured information between native language types and human-readable configuration files. The library integrates with the standard Rust serialization ecosystem to map arbitrary data types to and from the YAML format. By utilizing trait-based data mapping, it allows developers to manage application settings an
This library provides robust serialization and deserialization for YAML in Rust, making it a direct tool for managing YAML data structures within applications.
This library is a Go-based utility for encoding and decoding YAML data into native language structures. It facilitates the transformation of complex objects into human-readable text formats and provides mechanisms for mapping data fields through reflection and custom type handling. The library distinguishes itself by maintaining an intermediate abstract syntax tree, which allows for precise document modifications and the preservation of comments during serialization. It includes a path-based query engine that enables users to navigate, filter, and update document hierarchies without manual it
This Go library provides robust YAML parsing, serialization, and document manipulation capabilities, including comment preservation and path-based querying, making it a direct fit for your development needs.
yaml-cpp is a C++ library for parsing and emitting YAML 1.2 documents. It provides a complete YAML processing pipeline, from reading YAML content into a traversable node tree to writing in-memory data structures back as YAML text. The library represents parsed YAML as a mutable tree of typed nodes, supporting scalars, sequences, maps, and aliases. It uses a recursive-descent parser to build this node tree, and a stream-based emitter to generate YAML output incrementally. Template-based type conversion enables compile-time serialization between YAML nodes and C++ types, including support for c
This is a C++ library that provides a complete pipeline for parsing and emitting YAML documents, making it a direct tool for handling YAML data structures within applications.
This library is a YAML encoder and decoder for native Go data structures. It provides the tools necessary to transform internal data into YAML formatted text and convert YAML input streams back into structured data. The parser includes built-in protections against resource exhaustion attacks by enforcing limits on document depth and alias resolution. It also ensures deterministic output by employing consistent key sorting for maps. The project covers serialization and deserialization workflows, including struct mapping and custom marshaling interfaces. It also handles input encoding detectio
This library provides robust serialization and deserialization for YAML in Go, offering essential features like document security limits and deterministic output for configuration management.
msgspec is a high-performance data modeling, serialization, and schema validation toolkit for Python. It serves as a type-safe serialization framework that integrates schema enforcement and data parsing into a single pass, functioning as both a data serialization library and a schema validation system based on standard Python type annotations. The project distinguishes itself through high-performance structural primitives, including compilation-based routine generation and zero-copy buffer parsing. It optimizes memory usage via garbage collection-aware layouts and reduces processing overhead
This library provides high-performance serialization, deserialization, and schema validation for YAML alongside other formats, making it a capable tool for managing YAML data structures within Python applications.
CUE is a constraint-based configuration language designed for data validation, schema definition, and code generation. At its core, it unifies types and values into a single concept, enabling compile-time validation that catches structural and value errors before runtime. The language treats data and constraints as the same thing, allowing a single definition to serve as both a schema and concrete configuration data. CUE distinguishes itself through its constraint-based unification engine, which combines multiple configuration sources into a single coherent result by merging their constraints
CUE is a powerful configuration language and toolset that handles complex YAML parsing, schema validation, and data manipulation, though it operates as a specialized constraint-based system rather than a traditional general-purpose YAML library.
Jackson is a Java data binding framework and multi-format data serializer used to translate data structures into native language objects. It functions as a JSON data binding library and a streaming parser that reads and writes data as discrete tokens to process large datasets with minimal memory. The project distinguishes itself through a bytecode serialization accelerator that replaces standard reflection with generated bytecode to increase data binding speed. It employs a module-based extensibility model to support a wide range of formats beyond JSON, including XML, YAML, CSV, TOML, and bin
Jackson is a high-performance data binding framework that provides robust YAML parsing, serialization, and schema validation capabilities through its modular architecture, making it a standard tool for YAML processing in Java applications.
Canonical source repository for PyYAML
This is the standard Python library for parsing and emitting YAML, providing robust serialization and deserialization capabilities for data structures.
This library provides robust parsing, stringification, and manipulation of YAML data, including support for comment preservation and document-level editing, making it a strong choice for programmatic YAML handling in JavaScript and TypeScript environments.
This library provides a parser and encoder for YAML 1.2 data structures, enabling the transformation of human-readable YAML strings into native JavaScript objects and arrays. It is designed to function as a cross-platform utility, ensuring consistent data processing across both server-side runtimes and client-side browser environments. Beyond its core library functionality, the project includes a command-line interface for automating data conversion tasks. This utility supports bidirectional transformation between YAML and JSON formats, allowing for the programmatic manipulation and exchange
This is a standalone JavaScript library for parsing and encoding YAML 1.2 data, providing the core serialization and deserialization capabilities required for YAML processing in web and Node.js applications.
Single header YAML 1.0 C++11 serializer/deserializer.
This is a lightweight C++ library designed specifically for YAML serialization and deserialization, fitting the category as a focused tool for handling YAML data structures.
A better way to marshal and unmarshal YAML in Golang
This library provides a specialized interface for marshaling and unmarshaling YAML data in Go, serving as a direct tool for YAML processing within software applications.
This is an implementation of the upcoming YAML 1.3 standard. Since the standard is not completed yet, some features are due to change.
This library provides a direct implementation of the YAML standard for the Ada programming language, enabling the parsing and generation of YAML data structures within your applications.
YAML and JSON parser, serializer and deserializer with YAML to JSON and vice versa conversion tools containing pure Object Pascal source code for both Delphi and Lazarus
This library provides the requested serialization and deserialization capabilities for YAML and JSON within the Pascal ecosystem, though it lacks the broader multi-language support and advanced schema validation features of more comprehensive tools.
This library is a PHP-based serialization framework designed to convert complex object graphs into structured formats such as JSON, XML, YAML, and CSV, and to reconstruct those objects from serialized data. It functions as a data transformation tool that maps object properties to array structures, facilitating both application state persistence and the exchange of data between systems. The framework distinguishes itself through a two-stage pipeline that normalizes objects into intermediate structures before encoding them into specific formats. It supports advanced mapping requirements, includ
This is a robust serialization framework that handles YAML alongside other formats, providing the necessary tools for object-to-data mapping and deserialization within PHP applications.
I think this YAML parser covers many important aspects of the YAML spec, but certainly not everything. I've been using the YAML spec and this online tool whenever I was in doubt.
This library provides YAML parsing and serialization capabilities for the V programming language, fitting the category of a data processing tool even if it does not implement the full YAML specification.
YAML parser for Common Lisp
This is a dedicated YAML parser and emitter for Common Lisp that handles the core requirements of serialization and deserialization for that specific language ecosystem.
PowerShell CmdLets for YAML format manipulation
This tool provides PowerShell cmdlets for parsing and generating YAML, serving as a direct utility for YAML manipulation within the PowerShell ecosystem.
R package for converting objects to and from YAML
This is a specialized R package that provides robust serialization and deserialization of YAML data, serving as a direct tool for YAML processing within the R ecosystem.
Yaml parser for Elixir based on native Erlang implementation
This library provides native YAML parsing and serialization capabilities for the Elixir ecosystem, serving as a direct tool for handling YAML data structures within applications.
| Dépôt | Stars | Langage | Licence | Dernier push |
|---|---|---|---|---|
| aaubry/yamldotnet | 2.8K | C# | mit | |
| symfony/yaml | 3.8K | PHP | MIT | |
| nodeca/js-yaml | 6.6K | JavaScript | MIT | |
| dtolnay/serde-yaml | 1K | Rust | Apache-2.0 | |
| goccy/go-yaml | 2.2K | Go | MIT | |
| jbeder/yaml-cpp | 5.9K | C++ | MIT | |
| go-yaml/yaml | 7K | Go | NOASSERTION | |
| msgspec/msgspec | 3.8K | Python | BSD-3-Clause | |
| cue-lang/cue | 6.1K | Go | Apache-2.0 | |
| fasterxml/jackson | 9.7K | — | — |