Version 31 (modified by xi, 9 years ago) (diff)

-- - the home of various YAML implementations for Python


2006-08-20: PyYAML 3.04 is released.

2006-08-01: LibYAML 0.0.1 is released.

2006-06-19: PyYAML 3.03 is released.

2006-05-15: PyYAML 3.02 is released.

2006-05-07: PyYAML 3.01 is released.

2006-03-26: PySyck 0.61.2 is released.

2006-03-18: PySyck 0.61.1 is released.

PyYAML aka PyYAML 3000

PyYAML is the next generation YAML parser and emitter for Python.


PySyck is a Python binding to  Syck, a C library for reading and writing YAML in scripting languages.

PyYAML Legacy aka PyYaml

PyYAML Legacy is the original implementation developed by various authors.


LibYAML is a YAML parser and emitter written in C.

What implementation should you use?

Check this matrix if you are confused trying to choose a suitable implementation.

Implementation PySyck PyYAML PyYAML Legacy LibYAML
Status Mature Stable Stable (abandoned) Alpha
Latest version 0.61 3.04 0.32 + forks 0.0.1
Language Python/C extension Python Python C
Parser YAML 1.0 YAML 1.1 YAML 1.0 (incomplete) YAML 1.1
Emitter YAML 1.0 YAML 1.1 YAML 1.0 YAML 1.1
Unicode support No Yes No Yes


Wiki Topic Index

To Do

  • Fix grammar issues of PyYAML 3000 according to the discussion on YAML-core and IRC.
  • Write an example program (yaml-highlight) for PyYAML. It should insert tags at the beginning and the end of each token and parser event and use YAML for configuration.
  • Emitter.
  • Release PyYAML 3000.
  • Write a simple "canonical" YAML parser and a paper explaining the method.
  • libyaml3000 (SoC proposal).
  • support for yaml bytecode.

Trac Starting Points

For a complete list of local wiki pages, see TitleIndex.

Trac is brought to you by  Edgewall Software, providing professional Linux and software development services to clients worldwide. Visit for more information.