awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
goccy avatar

goccy/go-yaml

0
View on GitHub↗
2,189 stars·223 forks·Go·MIT·22 viewsgoccy.github.io/go-yaml↗

Go Yaml

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 iteration, as well as support for resolving external references across multiple files.

Beyond core parsing and serialization, the project offers comprehensive tools for document manipulation, including recursive tree traversal and tag-driven formatting controls. It also provides diagnostic utilities that generate descriptive, colorized error messages with specific source location data to assist in debugging.

Features

  • Multi-Format Encoder-Decoder Abstractions - Transforms native language structures into formatted YAML text and parses documents back into objects using automated field mapping.
  • YAML Parsers - Encodes and decodes YAML data into native structures with support for path-based queries and custom serialization logic.
  • YAML Data Serialization - Converts native language objects into human-readable text format to simplify data storage and transmission.
  • Go Data Mapping Libraries - Provides a utility for mapping complex data structures to and from text formats using reflection and custom type handling.
  • Reflection-Based Data Mapping - Uses runtime reflection to automatically bind document fields to native language structures during serialization.
  • Path-Based Query Engines - Provides a path-based query engine to navigate and update complex document hierarchies without manual iteration.
  • Document Content Manipulation - Filters, replaces, and merges document elements using path-based queries and recursive processing to update complex data structures.
  • Custom Serialization Interfaces - Enables defining custom conversion logic for specific data types to control marshaling and unmarshaling behavior.
  • Custom-Type Mappings - Defines specific conversion behavior for complex data types to control information representation during marshaling and unmarshaling.
  • Document Node Modeling - Maintains an internal abstract syntax tree to enable precise document modifications and comment preservation during serialization.
  • Automated Document Processing - Automates document maintenance and transformation tasks by filtering, merging, and updating complex data structures.
  • Anchor Resolution in Merging - Integrates anchors and elements defined in separate files during decoding to maintain consistency across related data documents.
  • Serialization Control - Uses metadata annotations on data structures to define custom formatting and field mapping behavior.
  • YAML Configuration Files - Parses and manipulates structured configuration files to allow for programmatic access and easy updates to application settings.
  • YAML Serializers - Transforms objects into human-readable YAML text while maintaining comments and precise formatting control.
  • Serialization Error Reporters - Provides descriptive, colorized error messages with precise source location data during YAML serialization and deserialization processes.
  • External Style Reference Resolution - Integrates anchors and elements defined in separate files during decoding to maintain consistency across related documents.

Star history

Star history chart for goccy/go-yamlStar history chart for goccy/go-yaml

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Go Yaml

These projects share indexed features with Go Yaml. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • nodeca/js-yamlnodeca avatar

    nodeca/js-yaml

    6,591View on GitHub↗

    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

    JavaScript
    View on GitHub↗6,591
  • symfony/yamlsymfony avatar

    symfony/yaml

    3,843View on GitHub↗

    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

    PHPcomponentphpsymfony
    View on GitHub↗3,843
  • aaubry/yamldotnetaaubry avatar

    aaubry/YamlDotNet

    2,807View on GitHub↗

    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

    C#dotnetparserserialization
    View on GitHub↗2,807
  • dtolnay/serde-yamldtolnay avatar

    dtolnay/serde-yaml

    1,019View on GitHub↗

    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

    Rustrustserdeyaml
    View on GitHub↗1,019
Compare all 30 related projects→

Frequently asked questions

What does goccy/go-yaml do?

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.

What are the main features of goccy/go-yaml?

The main features of goccy/go-yaml are: Multi-Format Encoder-Decoder Abstractions, YAML Parsers, YAML Data Serialization, Go Data Mapping Libraries, Reflection-Based Data Mapping, Path-Based Query Engines, Document Content Manipulation, Custom Serialization Interfaces.

Which projects share features with goccy/go-yaml?

Projects with overlapping indexed features include: nodeca/js-yaml — js-yaml is a JavaScript library providing a programmatic interface for parsing and dumping YAML data. It functions as… symfony/yaml — This project is a PHP library that serves as a configuration file processor, providing a bridge to translate… aaubry/yamldotnet — YamlDotNet is a YAML serialization library and data mapping tool for .NET. It functions as a parser and generator that… dtolnay/serde-yaml — Serde-yaml is a serialization library for the Rust programming language that facilitates the conversion of complex… jbeder/yaml-cpp — yaml-cpp is a C++ library for parsing and emitting YAML 1.2 documents. It provides a complete YAML processing… fatih/structs — Structs is a reflection utility and type inspection framework for Go. It provides tools for inspecting, converting,…

Curated searches featuring Go Yaml

Hand-picked collections where Go Yaml appears.
  • Go YAML Libraries