30 open-source projects similar to aaubry/yamldotnet, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
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
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 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
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 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 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
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
clashN is a cross-platform proxy manager and graphical user interface client for the Clash proxy core. It serves as a visual wrapper that enables the configuration of network tunnels and the routing of internet traffic to bypass network restrictions on desktop operating systems. The application functions by decoupling the management interface from the network engine, using a local API to dispatch configuration updates and control the proxy core. It includes a subscription converter that translates external provider profiles into standardized configuration schemas compatible with the underlyin
syn is a Rust syntax tree parser and token stream converter. It serves as a toolkit for procedural macro development, providing a framework to parse Rust source code into structured syntax trees for analysis and transformation. The project enables the manipulation of Rust abstract syntax trees through specialized visitor and folder patterns for traversing and mutating nodes. It provides a bidirectional mapping that allows developers to convert token streams into structured trees and print those trees back into tokens for code generation. The library covers a broad range of syntax analysis ca
Jsonnet is a structured configuration generation language that extends JSON with variables, conditionals, and object-oriented features to create reusable templates. It is designed to eliminate duplication in configuration data by providing a data templating language that can produce structured output from concise, programmable templates. The language distinguishes itself through an object-oriented inheritance model that allows field override, mixin composition, and self-referencing for modular configuration reuse. It supports lazy evaluation with thunks to defer computation until values are f
sqlglot is a SQL parser and transpiler that represents queries as abstract syntax trees to enable structural analysis, modification, and semantic transformation. It functions as a dialect translator and query optimizer, converting SQL code between different database engines and simplifying syntax trees through rule-based normalization. The project provides a framework for defining custom SQL dialects by overriding tokenizers, parsers, and generators. It includes a lineage analyzer to track data flow from source tables through complex queries to identify the origin of specific columns. Additi
Acorn is a JavaScript parser that converts source text into a structured abstract syntax tree. It follows the ESTree specification to produce a standardized JSON tree format, enabling consistent analysis of code structure and language versions. The project features a plugin-based grammar extension system that allows the base parser to be extended with custom rules for experimental or non-standard language features. It also includes syntax error recovery, which inserts placeholder nodes into the tree when encountering invalid code to allow parsing to continue. The toolset covers static analys
JSON-java is a Java library for parsing and generating JSON text and mapping it to Java objects and collections. It functions as a serialization framework for converting class instances and data structures into standardized JSON strings. The project includes a JSON pointer implementation for retrieving specific values from documents using string or URI fragment representations. It also provides a converter for translating data structures between JSON and XML, as well as a translator for transforming data between JSON and web formats such as HTTP headers, cookies, and comma-delimited lists. T
gojq is a JSON query engine and transformation tool implemented in Go. It serves as a Go language port of the jq command, providing a library for embedding JSON and YAML manipulation capabilities directly into Go applications. The tool functions as an arbitrary-precision JSON processor, performing mathematical operations on large integers to prevent precision loss or numeric overflow during data transformations. Its broader capabilities include filtering and reshaping structured data using a specialized query language, converting between YAML and JSON formats, and formatting date and time st
terraform-docs is a Terraform module documentation generator and infrastructure as code documenter. It extracts inputs, outputs, and resources from Terraform configuration files to automatically create formatted technical guides and metadata exports. The tool functions as a multi-format metadata exporter, transforming module information into Markdown tables, AsciiDoc, JSON, YAML, XML, and TOML. It also serves as a CI/CD documentation automator, allowing for the integration of documentation updates into commit hooks and deployment pipelines. Capability areas include module documentation extra
chezmoi is a command-line utility designed to manage and synchronize system configuration files across multiple machines. It uses a local Git repository as the single source of truth, allowing users to track, version, and distribute dotfiles while maintaining a consistent state across diverse operating systems and hardware architectures. The project distinguishes itself through a declarative reconciliation model that computes the difference between the current filesystem and the desired state defined in the repository. It features a robust templating engine that processes configuration files
Mapperly is a C# source generator used for high-performance object-to-object mapping in .NET. It functions as a compile-time mapping library that produces the necessary transformation code during the build process, eliminating the need for runtime reflection when converting between domain models and data transfer objects. The tool distinguishes itself by providing type-safe diagnostic validation and strict mapping enforcement, emitting warnings for unmapped properties at compile time. It includes specialized capabilities for circular reference handling and deep cloning to maintain object iden
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
AutoMapper is a strongly typed object-to-object mapper for .NET. It provides utilities for copying data between different object representations using convention-based property matching to eliminate manual assignment code. The library automates the transformation of data models by matching source and destination properties based on shared names and types. It supports the conversion of internal domain models into data transfer objects, facilitating data movement between presentation, business, and data access layers. The system employs reflection-based type discovery and recursive object grap
AutoMapper is a .NET object-to-object mapper designed to transfer data between different object types. It functions as an automated mapping library that reduces the need for manual property assignments by using naming conventions to match properties between classes. The library focuses on automating data projection and the conversion of internal domain models into data transfer objects. It supports layered architecture decoupling by mapping data between domain entities and view models. The system employs convention-based member matching, flattening-based property projection, and recursive ty
Assemble is a static site generator and build pipeline system that compiles markdown, templates, and data into static HTML files. It functions as a markdown-to-HTML converter and a data format transformer capable of moving content between JSON, YAML, XML, PLIST, and CSV formats. The project features a pipeline-based build process where users can define ordered sequences of data transformations and file processing steps. It includes project scaffolding tools to bootstrap directory structures and configuration files from predefined boilerplates. The system manages content through collection-ba
MyBatis-Flex is an object-relational mapping framework for Java that extends MyBatis with a fluent API and automated CRUD operations. It provides a data access suite featuring an automatic CRUD data mapper, a type-safe SQL query builder, and a row-based query engine for manipulating records without predefined entity classes. The framework includes a multi-dialect SQL translator that converts generated syntax across different database engines, such as MySQL, PostgreSQL, and Oracle. It further distinguishes itself by offering annotation-free entity mapping using runtime reflection and naming co
Mapster is a .NET object-to-object mapper and high-performance mapping engine used for transforming data between different object models. It functions as a type-safe data transfer tool and a LINQ query projection tool to move data between internal logic and external data structures. The engine utilizes compiled mapping expressions and machine code to reduce overhead during object conversion. It specifically allows for projecting queryable data sources directly into destination types to optimize database retrieval. The toolset covers data transfer object generation, immutable data transformat
EasyExcel is a Java processing library designed for reading and writing XLS, XLSX, and CSV files. It functions as a memory-efficient spreadsheet parser, an object-relational mapper that binds spreadsheet columns to Java class fields, and a stream-based exporter for handling high-volume data. The library distinguishes itself through a streaming model that processes large files row-by-row via listeners to prevent heap memory overflow. It also operates as a template engine, allowing the population of predefined spreadsheet files with dynamic data while preserving original layouts and styles. Br
Task is a YAML-based task runner and build tool used to define and automate development workflows. It functions as a dependency-based build system and cross-platform task automator, allowing users to execute shell commands across different operating systems using a declarative configuration file. The project operates as an incremental build tool, utilizing file fingerprints and checksums to track state and avoid redundant work by determining if tasks are up to date. It manages execution via a dependency graph to ensure prerequisites are completed before target commands run. The system includ
Space Station 14 is a C# multiplayer game and roleplay simulation framework. It is built upon an Entity-Component-System (ECS) game engine that separates logic into systems and data into components to manage complex entity interactions. The project functions as a grid-based physics simulator with a YAML data-driven prototype system for defining game objects. The project features a specialized 2D sprite rendering engine that maps server-side appearance data to client-side shaders. It implements a networking model with client-side prediction and dirty-flagged state synchronization to reduce inp
The configuration-as-code plugin for Jenkins translates automation server settings and plugin parameters into human-readable YAML files, enabling reproducible server environments and version-controlled infrastructure management. It replaces manual web interface setup tasks with declarative text-based definitions for administrative settings, authentication backends, and access control. The system features dynamic data-binding capabilities that map text definitions directly to component properties using reflection and type inspection, alongside dynamic schema generation that produces validation
Yaml parser for Elixir based on native Erlang implementation