| Version 13 (modified by xi, 7 years ago) (diff) |
|---|
PySyck
Python bindings for the Syck YAML parser and emitter
Overview
YAML is a data serialization format designed for human readability and interaction with scripting languages.
Syck is an extension for reading and writing YAML in scripting languages. Syck provides bindings to the Python programming language, but they are somewhat limited and leak memory.
PySyck is aimed to update the current Python bindings for Syck. The new bindings provide a wrapper for the Syck emitter and give access to YAML representation graphs. Hopefully it will not leak memory as well.
PySyck may be used for various tasks, in particular, as a replacement of the module pickle.
Projects using PySyck
If your project uses PySyck, feel free to add its URL along with a small note.
The Official Python Programming Language Website.
Pyramid is a simple, file based website templating system. Pyramid uses Nevow as its templating system and YAML as the format for its file based data.
Requirements
PySyck requires Python 2.3 or higher and Syck 0.55 or higher.
You may download the latest Syck release from http://whytheluckystiff.net/syck/. Alternatively you download my unofficial syck tarball. It is the code from the Syck SVN repository with my SyckPatches applied.
Download
The latest version
Syck Source
I prepared an unofficial syck tarball:
Source
Windows binaries
Changes from 0.55.1 to 0.61.1
- setup.py build: check the presence of syck.h and print a helpful message if it is not found.
- Release GIL when calling syck.
- Change the way !str-tagged scalars are converted. If a scalar contains only ASCII characters, it is converted to a plain string object. If it is a valid UTF-8 sequence, it is converted to a Unicode object. Otherwise leave it as is, and issue a warning.
- Windows binaries are built against http://pyyaml.org/download/pysyck/syck-0.61+svn231+patches.tar.gz
- The new home of PySyck is http://pyyaml.org/wiki/PySyck.
Older versions
Source
Windows binaries
Documentation
Quick example:
>>> from syck import * >>> print load(""" ... - foo ... - bar ... - baz ... """) ['foo', 'bar', 'baz'] >>> print dump(['foo', 'bar', 'baz']) --- - foo - bar - baz
For more details, please check README.txt.
Development and Bug reports
You may check out the PySyck source code from PySyck SVN repository.
If you find a bug in PySyck, please file a bug report. You may review open bugs through the list of open tickets.
You may discuss PySyck at the YAML-core mailing list.
Author and Copyright
The PySyck module is written by Kirill Simonov.
PySyck is released under the BSD license like Syck itself.
