| Version 7 (modified by xi, 7 years ago) (diff) |
|---|
PyYAML
PyYAML is a YAML parser and emitter for Python.
Overview
YAML is a data serialization format designed for human readability and interaction with scripting languages.
PyYAML is a YAML parser and emitter for the Python programming language.
PyYAML features
- a complete YAML 1.1 parser. In particular, PyYAML can parse all examples from the specification. The parsing algorithm is simple enough to be ported to C or other language.
- Unicode support including UTF-8/UTF-16 input/output and \u escape sequences.
- event-based parser and emitter API (like SAX).
- high-level API for serializing and deserializing native Python objects (like DOM or pickle).
- support for all types from the YAML types repository. A simple extension API is provided.
- relatively meaningful error messages.
Note that PyYAML is still young and may have some bugs. Furthermore, PyYAML is written in Python and is slow comparing to C based parsers.
Requirements
PyYAML requires Python 2.3 or higher.
Download and Installation
You may check out PyYAML code from the Subversion repository http://svn.pyyaml.org/pyyaml/trunk
$ svn checkout http://svn.pyyaml.org/pyyaml/trunk pyyaml-trunk
Install it by running
$ python setup.py install
Documentation
Quick example:
>>> import yaml >>> print yaml.load(""" ... name: Vorlin Laruknuzum ... sex: Male ... class: Priest ... title: Acolyte ... hp: [32, 71] ... sp: [1, 13] ... gold: 423 ... inventory: ... - a Holy Book of Prayers (Words of Wisdom) ... - an Azure Potion of Cure Light Wounds ... - a Siver Wand of Wonder ... """) {'name': 'Vorlin Laruknuzum', 'gold': 423, 'title': 'Acolyte', 'hp': [32, 71], 'sp': [1, 13], 'sex': 'Male', 'inventory': ['a Holy Book of Prayers (Words of Wisdom)', 'an Azure Potion of Cure Light Wounds', 'a Siver Wand of Wonder'], 'class': 'Priest'} >>> print yaml.dump({'name': "The Cloak 'Colluin'", 'depth': 5, 'rarity': 45, ... 'weight': 10, 'cost': 50000, 'flags': ['INT', 'WIS', 'SPEED', 'STEALTH']}) name: The Cloak 'Colluin' rarity: 45 flags: [INT, WIS, SPEED, STEALTH] weight: 10 cost: 50000 depth: 5
For more details, please check PyYAML Documentation.
Development and bug reports
You may check out the PyYAML source code from PyYAML SVN repository.
If you find a bug in PyYAML, please file a bug report. You may review open bugs through the list of open tickets.
You may discuss PyYAML at the YAML-core mailing list.
Author and copyright
The PyYAML module is written by Kirill Simonov.
PyYAML is released under the MIT license.
