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


Don't enable unicode output. Instead, unicode characters will be escaped.


Use the system-wide libyaml instead of the bundled copy


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), attoparsec (>=, base (>=4.9.1 && <4.13), bytestring (>=, conduit (>=1.2.8 && <1.4), containers, directory, filepath, raw-strings-qq, resourcet (>=0.3 && <1.3), scientific, semigroups, 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 sjakobi at 2021-10-10T22:52:39Z
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 2018-07-09T10:53:28Z
Distributions Arch:, Debian:, Fedora:, FreeBSD:0.8.13, LTSHaskell:, NixOS:, Stackage:, openSUSE:
Reverse Dependencies 248 direct, 486 indirect [details]
Executables yaml2json, json2yaml, examples
Downloads 306326 total (656 in the last 30 days)
Rating 2.25 (votes: 5) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2018-07-09 [all 1 reports]

Readme for yaml-0.8.32

[back to package description]


Build Status Build status

Provides support for parsing and emitting Yaml documents.

This package includes the full libyaml C library version 0.2.1 by Kirill Simonov in the package so you don't need to worry about any non-Haskell dependencies.

The package is broken down into two primary modules. Data.Yaml provides a high-level interface based around the JSON datatypes provided by the aeson package. Text.Libyaml provides a lower-level, streaming interface. For most users, Data.Yaml is recommended.


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

Additional 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.