mikefarah/yaml — explained in plain English
Analysis updated 2026-07-31 · repo last pushed 2021-05-14
Build a Go deployment tool that reads user-defined environment settings from YAML config files.
Parse infrastructure-as-code templates in a Go application to extract configuration values.
Export application data as human-readable YAML files from Go programs.
Read YAML files with unknown structure into generic maps for dynamic processing.
| mikefarah/yaml | 0-bingwu-0/live-interpreter | 010zx00x1/faresnipe | |
|---|---|---|---|
| Stars | 2 | 2 | 2 |
| Language | — | Python | Python |
| Last pushed | 2021-05-14 | — | — |
| Maintenance | Dormant | — | — |
| Setup difficulty | easy | moderate | easy |
| Complexity | 2/5 | 2/5 | 2/5 |
| Audience | developer | general | general |
Figures from each repo's GitHub metadata at analysis time.
Just run go get to add the package to your Go project, no external dependencies needed.
The gopkg.in/yaml.v2 package gives programs written in the Go language a simple way to read and write YAML files. YAML is a popular text format for configuration files, it’s what you often see when editing settings for cloud services, CI pipelines, or app configs. This library lets a Go application take YAML text and turn it into structured data the program can work with, or do the reverse: take structured data and serialize it back into YAML text. At a high level, the library does two main jobs: “unmarshalling” (reading YAML text and converting it into Go’s native data structures like structs, maps, and lists) and “marshalling” (taking those Go data structures and writing them out as properly formatted YAML). You define a Go struct with fields that match your YAML keys, and the library handles the translation automatically. It also supports reading YAML into generic maps when you don’t know the structure in advance. This library would be used by Go developers building applications that need to load configuration files, parse infrastructure-as-code templates, or export data in a human-readable format. For example, if you’re writing a deployment tool in Go and want users to define their environments via a YAML config file, this is the piece that reads that file and hands your code the values. It was originally built at Canonical for their Juju orchestration project, so it has seen serious production use. The implementation is a pure Go port of libyaml, a well-established C library for parsing YAML. This means it avoids calling out to external C code, keeping deployment simpler. It supports most of YAML 1.1 and 1.2, including features like anchors and map merging, but deliberately skips base-60 floats from YAML 1.1, which the authors consider a flawed design. The API is promised to remain stable for the v2 line.
A Go library that reads and writes YAML configuration files. It converts YAML text into Go data structures and back, making it easy for Go apps to handle config files.
Dormant — no commits in 2+ years (last push 2021-05-14).
Open source license that allows free use including commercial purposes, as long as you keep the copyright notice.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.