yaml: Support for parsing and rendering YAML documents.

[ bsd3, data, library ] [ Propose Tags ]

README and API documentation are available at https://www.stackage.org/package/yaml

[Skip to Readme]


Automatic Flags

don't build the examples


don't install the yaml2json or json2yaml executables


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS] 0.0.0, 0.0.1, 0.0.2, 0.0.3, 0.0.4, 0.2.0, 0.2.1, 0.3.0, 0.4.0, 0.4.1,,, 0.5.0,, 0.5.1,,, 0.5.2, 0.6.0, 0.6.1, 0.7.0,,,,, 0.8.0,,, 0.8.1,,, 0.8.2,,,,, 0.8.3, 0.8.4,, 0.8.5,,,,, 0.8.6,,, 0.8.7,,, 0.8.8,,,,, 0.8.9,,,,, 0.8.10,, 0.8.11, 0.8.12, 0.8.13, 0.8.14,,,, 0.8.16, 0.8.17,,, 0.8.18,,,,,,,,, 0.8.20, 0.8.21,,, 0.8.22,, 0.8.23,,, 0.8.24, 0.8.25,, 0.8.26, 0.8.27, 0.8.28, 0.8.29, 0.8.30, 0.8.31,, 0.8.32, 0.9.0, 0.10.0, 0.10.1,,,,,,,,,,,,,,,,,,,,
Change log ChangeLog.md
Dependencies aeson (>=0.11 && <2.2), attoparsec (>=, base (>=4.9.1 && <5), bytestring (>=, conduit (>=1.2.8 && <1.4), containers, directory, filepath, libyaml (>=0.1 && <0.2), mtl, optparse-applicative (<0.18), raw-strings-qq, resourcet (>=0.3 && <1.4), scientific (>=0.3), template-haskell, text, transformers (>=0.1), unordered-containers, vector, yaml [details]
License BSD-3-Clause
Author Michael Snoyman <michael@snoyman.com>, Anton Ageev <antage@gmail.com>,Kirill Simonov
Maintainer Michael Snoyman <michael@snoyman.com>
Revised Revision 2 made by AndreasAbel at 2023-07-02T19:11:21Z
Category Data
Home page https://github.com/snoyberg/yaml#readme
Bug tracker https://github.com/snoyberg/yaml/issues
Source repo head: git clone https://github.com/snoyberg/yaml
Uploaded by MichaelSnoyman at 2023-02-07T04:04:26Z
Distributions Arch:, Debian:, Fedora:, FreeBSD:0.8.13, LTSHaskell:, NixOS:, Stackage:, openSUSE:
Reverse Dependencies 248 direct, 482 indirect [details]
Executables yaml2json, json2yaml, examples
Downloads 304805 total (789 in the last 30 days)
Rating 2.25 (votes: 5) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for yaml-

[back to package description]


GitHub build and test status Appveyor build status

Provides support for parsing and emitting Yaml documents.

Data.Yaml provides a high-level interface based around the JSON datatypes provided by the aeson package. It uses Text.Libyaml from libyaml in its implementation of the low-level yaml encoder/decoder.


Usage examples can be found in the Data.Yaml documentation or in the examples directory.

Additional yaml modules

  • Data.Yaml.Include supports adding !include directives to your YAML files.
  • Data.Yaml.Builder and Data.Yaml.Parser allow more fine-grained control of parsing an rendering, as opposed to just using the aeson typeclass and datatype system for parsing and rendering.
  • Data.Yaml.Aeson is currently a re-export of Data.Yaml to explicitly choose to use the aeson-compatible API.


Converters json2yaml and yaml2json can be built by disabling flag no-exe, e.g., one of:

cabal install yaml -f-no-exe
stack install yaml --flag yaml:-no-exe