[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ANN] PyYAML-5.1: YAML parser and emitter for Python

 Announcing PyYAML-5.1

A new MAJOR RELEASE of PyYAML is now available:

This is the first major release of PyYAML under the new maintenance team.

Among the many changes listed below, this release specifically addresses the
arbitrary code execution issue raised by:

for complete details).

The PyYAML project is now maintained by the YAML and Python communities.
Planning happens on the #yaml-dev, #pyyaml and #libyaml IRC channels on


*  -- Some modernization of the test
*  -- Install tox in a virtualenv
*  -- Allow colon in a plain scalar
in a flow context
*  -- Fix typos
*  -- Improve RepresenterError
*  -- Resolves #57, update readme
issues link
*  -- Document and test Python 3.6
*  -- Use Travis CI built in pip
cache support
*  -- Remove tox workaround for
Travis CI
*  -- Adding support to Unicode
characters over codepoint 0xffff
*  -- Support unicode literals over
codepoint 0xffff
*  -- add 3.12 changelog
*  -- Fallback to Pure Python if
Compilation fails
*  -- Drop unsupported Python 3.3
* -- Include license file in the
generated wheel package
* -- Removed Python 2.6 & 3.3
* -- Remove commented out Psyco code
* -- Remove call to `ord` in lib3
emitter code
* -- Allow to turn off sorting keys
in Dumper
* -- Test on Python 3.7-dev
* -- Support escaped slash in
double quotes "\/"
* -- Import Hashable from
* -- Make default_flow_style=False
* -- Deprecate yaml.load and add
FullLoader and UnsafeLoader classes
* -- Windows Appveyor build


PyYAML IRC Channel: #pyyaml on
PyYAML homepage:
PyYAML documentation:
Source and binary installers:
GitHub repository:
Bug tracking:

YAML homepage:
YAML-core mailing list:

About PyYAML

YAML is a data serialization format designed for human readability and
interaction with scripting languages. PyYAML is a YAML parser and emitter

PyYAML features a complete YAML 1.1 parser, Unicode support, pickle support,
capable extension API, and sensible error messages. PyYAML supports standard
YAML tags and provides Python-specific tags that allow to represent an
arbitrary Python object.

PyYAML is applicable for a broad range of tasks from complex configuration
files to object serialization and persistence.


>>> import yaml

>>> yaml.full_load("""
... name: PyYAML
... description: YAML parser and emitter for Python
... homepage:
... keywords: [YAML, serialization, configuration, persistence, pickle]
... """)
{'keywords': ['YAML', 'serialization', 'configuration', 'persistence',
'pickle'], 'homepage': '', 'description':
'YAML parser and emitter for Python', 'name': 'PyYAML'}

>>> print(yaml.dump(_))
name: PyYAML
description: YAML parser and emitter for Python
keywords: [YAML, serialization, configuration, persistence, pickle]


The following people are currently responsible for maintaining PyYAML:

* Ingy d?t Net
* Tina Mueller
* Matt Davis

and many thanks to all who have contribributed!


Copyright (c) 2017-2019 Ingy d?t Net <ingy at>
Copyright (c) 2006-2016 Kirill Simonov <xi at>

The PyYAML module was written by Kirill Simonov <xi at>.
It is currently maintained by the YAML and Python communities.

PyYAML is released under the MIT license.
See the file LICENSE for more details.