[Python-modules-commits] [ruamel.yaml] 03/12: Initial packaging

Vincent Bernat bernat at moszumanska.debian.org
Wed Nov 18 07:57:12 UTC 2015


This is an automated email from the git hooks/post-receive script.

bernat pushed a commit to branch master
in repository ruamel.yaml.

commit 645f4fdeae9e570d1f2e958273b06fba32d4484f
Author: Vincent Bernat <vincent at bernat.im>
Date:   Mon Nov 16 08:16:48 2015 +0100

    Initial packaging
---
 debian/changelog |   6 +-
 debian/clean     |   3 +-
 debian/control   | 838 ++-----------------------------------------------------
 debian/rules     |   3 +-
 4 files changed, 25 insertions(+), 825 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index ac47f66..b7ff2b2 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,6 @@
-ruamel.yaml (0.10.12-0~pypi2deb) UNRELEASED; urgency=low
+ruamel.yaml (0.10.12-1) UNRELEASED; urgency=low
 
-  * Autogenerated by py2dsp v1.20151008
+  * Initial release. Closes: #803007.
 
- -- Vincent Bernat <bernat at debian.org>  Mon, 16 Nov 2015 07:07:21 +0000
+ -- Vincent Bernat <bernat at debian.org>  Mon, 16 Nov 2015 08:08:46 +0100
 
diff --git a/debian/clean b/debian/clean
index c9d360d..c6a4282 100644
--- a/debian/clean
+++ b/debian/clean
@@ -1,2 +1 @@
-
-./ext/_ruamel_yaml.c
\ No newline at end of file
+./ext/_ruamel_yaml.c
diff --git a/debian/control b/debian/control
index e81fd7e..93888ed 100644
--- a/debian/control
+++ b/debian/control
@@ -12,8 +12,12 @@ Build-Depends: debhelper (>= 9), dh-python,
                python-setuptools,
                python3-all-dev,
                python3-setuptools,
+               python-pytest,
+               python3-pytest
 Standards-Version: 3.9.6
 Homepage: https://bitbucket.org/ruamel/yaml
+Vcs-Git: git://anonscm.debian.org/python-modules/packages/ruamel.yaml.git
+Vcs-Browser: https://anonscm.debian.org/cgit/python-modules/packages/ruamel.yaml.git
 
 Package: python-ruamel.yaml
 Architecture: any
@@ -21,280 +25,12 @@ Depends: ${misc:Depends}, ${python:Depends}, ${shlibs:Depends},
 Recommends: ${python:Recommends}
 Suggests: ${python:Suggests}
 XB-Python-Egg-Name: ruamel.yaml
-Description: YAML parser/emitter that supports roundtrip preservation of comments, seq/map fl - Python 2.X
- ruamel.yaml
- ===========
+Description: roundtrip YAML parser/emitter (Python 2 module)
+ ruamel.yaml is a YAML parser supporting roundtrip preservation of
+ comments, seq/map flow style and map key order. It is a derivative of
+ Kirill Simonov's PyYAML 3.11 which supports YAML1.1.
  .
- Starting with 0.10.7 the package has been reorganise and the
- commandline utility is in its own package ``ruamel.yaml.cmd`` (so
- installing ``ruamel.yaml`` doesn't pull in possible irrelevant modules
- only used in the commandline utility)
- .
- ``ruamel.yaml`` is a YAML package for Python. It is a derivative
- of Kirill Simonov's `PyYAML 3.11 <https://bitbucket.org/xi/pyyaml>`_
- which supports YAML1.1
- .
- Major differences with PyYAML 3.11:
- .
- - intergrated Python 2 and 3 sources, running on Python 2.6, 2.7 (CPython,
-   PyPy), 3.3 and 3.4.
- - round trip mode that **includes comments** (block mode, key ordering kept)
- - support for simple lists as mapping keys by transformation to tuples
- - ``!!omap`` generates ordereddict (C) on Python 2, collections.OrderedDict
-   on Python 3, and ``!!omap`` is generated for these types.
- - some `YAML 1.2 <http://yaml.org/spec/1.2/spec.html>`_ enhancements
-   (``0o`` octal prefix, ``\/`` escape)
- - pep8 compliance
- - tox and py.test based testing
- - Tests whether the C yaml library is installed as well as the header
-   files. That library  doesn't generate CommentTokens, so it cannot be used to
-   do round trip editing on comments. It can be used for speeded up normal
-   processing (so you don't need to install ``ruamel.yaml`` and ``PyYaml``).
-   See the section *Optional requirements*.
- - Basic support for multiline strings with preserved newlines and
-   chomping ( '``|``', '``|+``', '``|-``' ). As this subclasses the string type
-   the information is lost on reassignment. (This might be changed
-   in the future so that the preservation/folding/chomping is part of the
-   parent container, like comments).
- - RoundTrip preservation of flow style sequences ( 'a: b, c, d') (based
-   on request and test by Anthony Sottile)
- - anchors names that are hand-crafted (not of the form``idNNN``), are preserved
- - `merges <http://yaml.org/type/merge.html>`_ in dictionaries are preserved
- - adding/replacing of comments on block style sequences and mappings
-   with smart column positioning
- - collection objects (when read in via RoundTripParser) have an ``lc``
-   property that contains line and column info ``lc.line`` and ``lc.col``.
-   Individual positions for mappings and sequences can also be retrieved
-   (``lc.key('a')``, ``lc.value('a')`` resp. ``lc.item(3)``)
- - preservation of whitelines after block scalars. Contributed by Sam Thursfield.
- .
- Round trip including comments
- =============================
- .
- The major motivation for this fork is the round-trip capability for
- comments. The integration of the sources was just an initial step to
- make this easier.
- .
- adding/replacing comments
- -------------------------
- .
- Starting with version 0.8, you can add/replace comments on block style
- collections (mappings/sequences resuting in Python dict/list). The basic
- for for this is::
- .
-   from __future__ import print_function
- .
-   import ruamel.yaml
- .
-   inp = """\
-   abc:
-     - a     # comment 1
-   xyz:
-     a: 1    # comment 2
-     b: 2
-     c: 3
-     d: 4
-     e: 5
-     f: 6 # comment 3
-   """
- .
-   data = ruamel.yaml.load(inp, ruamel.yaml.RoundTripLoader)
-   data['abc'].append('b')
-   data['abc'].yaml_add_eol_comment('comment 4', 1)  # takes column of comment 1
-   data['xyz'].yaml_add_eol_comment('comment 5', 'c')  # takes column of comment 2
-   data['xyz'].yaml_add_eol_comment('comment 6', 'e')  # takes column of comment 3
-   data['xyz'].yaml_add_eol_comment('comment 7', 'd', column=20)
- .
-   print(ruamel.yaml.dump(data, Dumper=ruamel.yaml.RoundTripDumper), end='')
- .
-  .. example code add_comment.py
- .
- Resulting in::
- .
-   abc:
-   - a       # comment 1
-   - b       # comment 4
-   xyz:
-     a: 1    # comment 2
-     b: 2
-     c: 3    # comment 5
-     d: 4              # comment 7
-     e: 5 # comment 6
-     f: 6 # comment 3
- .
- .
-  .. example output add_comment.py
- .
- .
- If the comment doesn't start with '#', this will be added. The key is is
- the element index for list, the actual key for dictionaries. As can be seen
- from the example, the column to choose for a comment is derived
- from the previous, next or preceding comment column (picking the first one
- found).
- .
- Config file formats
- ===================
- .
- There are only a few configuration file formats that are easily
- readable, and editable: JSON, INI/ConfigParser, YAML (XML is to cluttered
- to be called easily readable).
- .
- Unfortunately `JSON <http://www.json.org/>`_ doesn't support comments,
- and although there are some solutions with pre-processed filtering of
- comments, there are no libraries that support round trip updating of
- such commented files.
- .
- INI files support comments, and the excellent `ConfigObj
- <http://www.voidspace.org.uk/python/configobj.html>`_ library by Foord
- and Larosa even supports round trip editing with comment preservation,
- nesting of sections and limited lists (within a value). Retrieval of
- particular value format is explicit (and extensible).
- .
- YAML has basic mapping and sequence structures as well support for
- ordered mappings and sets. It supports scalars are of various types
- including dates and datetimes (missing in JSON) as a list of
- YAML has comments, but these are normally thrown away.
- .
- Block structured YAML is a clean and very human readable
- format. By extending the Python YAML parser to support round trip
- preservation of comments, it makes YAML a very good choice for
- configuration files that are human readable and editable while at
- the same time interpretable and modifiable by a program.
- .
- Extending
- =========
- .
- There are normally 6 files involved when extending the roundtrip
- capabilities: the reader, parser, composer and constructor to go from YAML to
- Python and the resolver, representer, serializer and emitter to go the other
- way.
- .
- Extending involves keeping extra data around for the next process step,
- eventuallly resulting in a different Python object (subclass or alternative),
- that should behave like the original, but on the way from Python to YAML
- generates the original (or at least something much closer).
- .
- Smartening
- ==========
- .
- When you use round-tripping, then the complex data you get are
- already subclasses of the build in types. So you can patch
- in extra methods or override existing ones. Some methods are already
- included and you can do::
- .
-     yaml_str = """\
-     a:
-     - b:
-       c: 42
-     - d:
-         f: 196
-       e:
-         g: 3.14
-     """
- .
- .
-     data = yaml.load(yaml_str, Loader=yaml.RoundTripLoader)
- .
-     assert data.mlget(['a', 1, 'd', 'f'], list_ok=True) == 196
- .
- .
- Examples
- ========
- .
- Basic round trip of parsing YAML to Python objects, modifying
- and generating YAML::
- .
-   from __future__ import print_function
- .
-   import ruamel.yaml
- .
-   inp = """\
-   # example
-   name:
-     # details
-     family: Smith   # very common
-     given: Alice    # one of the siblings
-   """
- .
-   code = ruamel.yaml.load(inp, ruamel.yaml.RoundTripLoader)
-   code['name']['given'] = 'Bob'
- .
-   print(ruamel.yaml.dump(code, Dumper=ruamel.yaml.RoundTripDumper), end='')
- .
-  .. example code small.py
- .
- Resulting in ::
- .
-   # example
-   name:
-     # details
-     family: Smith   # very common
-     given: Bob      # one of the siblings
- .
- .
-  .. example output small.py
- .
- .
- YAML handcrafted anchors and references as well as key merging
- is preserved. The merged keys can transparently be accessed
- using ``[]`` and ``.get()``::
- .
-   import ruamel.yaml
- .
-   inp = """\
-   - &CENTER {x: 1, y: 2}
-   - &LEFT {x: 0, y: 2}
-   - &BIG {r: 10}
-   - &SMALL {r: 1}
-   # All the following maps are equal:
-   # Explicit keys
-   - x: 1
-     y: 2
-     r: 10
-     label: center/big
-   # Merge one map
-   - <<: *CENTER
-     r: 10
-     label: center/big
-   # Merge multiple maps
-   - <<: [*CENTER, *BIG]
-     label: center/big
-   # Override
-   - <<: [*BIG, *LEFT, *SMALL]
-     x: 1
-     label: center/big
-   """
- .
-   data = ruamel.yaml.load(inp, ruamel.yaml.RoundTripLoader)
-   assert data[7]['y'] == 2
- .
- .
-  .. example code anchor_merge.py
- .
- .
- Optional requirements
- =====================
- .
- If you have the C yaml library and headers installed, as well as
- the header files for your Python executables then you can use the
- non-roundtrip but faster C loader en emitter.
- .
- On Debian systems you should use::
- .
-     sudo apt-get install libyaml-dev python-dev python3-dev
- .
- you can leave out ``python3-dev`` if you don't use python3
- .
- For CentOS (7) based systems you should do::
- .
-    sudo yum install libyaml-devel python-devel
- .
- Testing
- =======
- .
- Testing is done using the `tox <https://pypi.python.org/pypi/tox>`_, which
- uses `virtualenv <https://pypi.python.org/pypi/virtualenv>`_ and
- `pytest <http://pytest.org/latest/>`_.
+ This package contains the Python 2 module.
 
 Package: python3-ruamel.yaml
 Architecture: any
@@ -302,280 +38,12 @@ Depends: ${misc:Depends}, ${python3:Depends}, ${shlibs:Depends},
 Recommends: ${python3:Recommends}
 Suggests: ${python3:Suggests}
 XB-Python-Egg-Name: ruamel.yaml
-Description: YAML parser/emitter that supports roundtrip preservation of comments, seq/map fl
- ruamel.yaml
- ===========
- .
- Starting with 0.10.7 the package has been reorganise and the
- commandline utility is in its own package ``ruamel.yaml.cmd`` (so
- installing ``ruamel.yaml`` doesn't pull in possible irrelevant modules
- only used in the commandline utility)
- .
- ``ruamel.yaml`` is a YAML package for Python. It is a derivative
- of Kirill Simonov's `PyYAML 3.11 <https://bitbucket.org/xi/pyyaml>`_
- which supports YAML1.1
- .
- Major differences with PyYAML 3.11:
- .
- - intergrated Python 2 and 3 sources, running on Python 2.6, 2.7 (CPython,
-   PyPy), 3.3 and 3.4.
- - round trip mode that **includes comments** (block mode, key ordering kept)
- - support for simple lists as mapping keys by transformation to tuples
- - ``!!omap`` generates ordereddict (C) on Python 2, collections.OrderedDict
-   on Python 3, and ``!!omap`` is generated for these types.
- - some `YAML 1.2 <http://yaml.org/spec/1.2/spec.html>`_ enhancements
-   (``0o`` octal prefix, ``\/`` escape)
- - pep8 compliance
- - tox and py.test based testing
- - Tests whether the C yaml library is installed as well as the header
-   files. That library  doesn't generate CommentTokens, so it cannot be used to
-   do round trip editing on comments. It can be used for speeded up normal
-   processing (so you don't need to install ``ruamel.yaml`` and ``PyYaml``).
-   See the section *Optional requirements*.
- - Basic support for multiline strings with preserved newlines and
-   chomping ( '``|``', '``|+``', '``|-``' ). As this subclasses the string type
-   the information is lost on reassignment. (This might be changed
-   in the future so that the preservation/folding/chomping is part of the
-   parent container, like comments).
- - RoundTrip preservation of flow style sequences ( 'a: b, c, d') (based
-   on request and test by Anthony Sottile)
- - anchors names that are hand-crafted (not of the form``idNNN``), are preserved
- - `merges <http://yaml.org/type/merge.html>`_ in dictionaries are preserved
- - adding/replacing of comments on block style sequences and mappings
-   with smart column positioning
- - collection objects (when read in via RoundTripParser) have an ``lc``
-   property that contains line and column info ``lc.line`` and ``lc.col``.
-   Individual positions for mappings and sequences can also be retrieved
-   (``lc.key('a')``, ``lc.value('a')`` resp. ``lc.item(3)``)
- - preservation of whitelines after block scalars. Contributed by Sam Thursfield.
- .
- Round trip including comments
- =============================
- .
- The major motivation for this fork is the round-trip capability for
- comments. The integration of the sources was just an initial step to
- make this easier.
- .
- adding/replacing comments
- -------------------------
- .
- Starting with version 0.8, you can add/replace comments on block style
- collections (mappings/sequences resuting in Python dict/list). The basic
- for for this is::
- .
-   from __future__ import print_function
- .
-   import ruamel.yaml
- .
-   inp = """\
-   abc:
-     - a     # comment 1
-   xyz:
-     a: 1    # comment 2
-     b: 2
-     c: 3
-     d: 4
-     e: 5
-     f: 6 # comment 3
-   """
- .
-   data = ruamel.yaml.load(inp, ruamel.yaml.RoundTripLoader)
-   data['abc'].append('b')
-   data['abc'].yaml_add_eol_comment('comment 4', 1)  # takes column of comment 1
-   data['xyz'].yaml_add_eol_comment('comment 5', 'c')  # takes column of comment 2
-   data['xyz'].yaml_add_eol_comment('comment 6', 'e')  # takes column of comment 3
-   data['xyz'].yaml_add_eol_comment('comment 7', 'd', column=20)
- .
-   print(ruamel.yaml.dump(data, Dumper=ruamel.yaml.RoundTripDumper), end='')
- .
-  .. example code add_comment.py
- .
- Resulting in::
- .
-   abc:
-   - a       # comment 1
-   - b       # comment 4
-   xyz:
-     a: 1    # comment 2
-     b: 2
-     c: 3    # comment 5
-     d: 4              # comment 7
-     e: 5 # comment 6
-     f: 6 # comment 3
- .
- .
-  .. example output add_comment.py
- .
- .
- If the comment doesn't start with '#', this will be added. The key is is
- the element index for list, the actual key for dictionaries. As can be seen
- from the example, the column to choose for a comment is derived
- from the previous, next or preceding comment column (picking the first one
- found).
- .
- Config file formats
- ===================
- .
- There are only a few configuration file formats that are easily
- readable, and editable: JSON, INI/ConfigParser, YAML (XML is to cluttered
- to be called easily readable).
- .
- Unfortunately `JSON <http://www.json.org/>`_ doesn't support comments,
- and although there are some solutions with pre-processed filtering of
- comments, there are no libraries that support round trip updating of
- such commented files.
- .
- INI files support comments, and the excellent `ConfigObj
- <http://www.voidspace.org.uk/python/configobj.html>`_ library by Foord
- and Larosa even supports round trip editing with comment preservation,
- nesting of sections and limited lists (within a value). Retrieval of
- particular value format is explicit (and extensible).
- .
- YAML has basic mapping and sequence structures as well support for
- ordered mappings and sets. It supports scalars are of various types
- including dates and datetimes (missing in JSON) as a list of
- YAML has comments, but these are normally thrown away.
- .
- Block structured YAML is a clean and very human readable
- format. By extending the Python YAML parser to support round trip
- preservation of comments, it makes YAML a very good choice for
- configuration files that are human readable and editable while at
- the same time interpretable and modifiable by a program.
- .
- Extending
- =========
- .
- There are normally 6 files involved when extending the roundtrip
- capabilities: the reader, parser, composer and constructor to go from YAML to
- Python and the resolver, representer, serializer and emitter to go the other
- way.
- .
- Extending involves keeping extra data around for the next process step,
- eventuallly resulting in a different Python object (subclass or alternative),
- that should behave like the original, but on the way from Python to YAML
- generates the original (or at least something much closer).
- .
- Smartening
- ==========
- .
- When you use round-tripping, then the complex data you get are
- already subclasses of the build in types. So you can patch
- in extra methods or override existing ones. Some methods are already
- included and you can do::
- .
-     yaml_str = """\
-     a:
-     - b:
-       c: 42
-     - d:
-         f: 196
-       e:
-         g: 3.14
-     """
+Description: roundtrip YAML parser/emitter (Python 3 module)
+ ruamel.yaml is a YAML parser supporting roundtrip preservation of
+ comments, seq/map flow style and map key order. It is a derivative of
+ Kirill Simonov's PyYAML 3.11 which supports YAML1.1.
  .
- .
-     data = yaml.load(yaml_str, Loader=yaml.RoundTripLoader)
- .
-     assert data.mlget(['a', 1, 'd', 'f'], list_ok=True) == 196
- .
- .
- Examples
- ========
- .
- Basic round trip of parsing YAML to Python objects, modifying
- and generating YAML::
- .
-   from __future__ import print_function
- .
-   import ruamel.yaml
- .
-   inp = """\
-   # example
-   name:
-     # details
-     family: Smith   # very common
-     given: Alice    # one of the siblings
-   """
- .
-   code = ruamel.yaml.load(inp, ruamel.yaml.RoundTripLoader)
-   code['name']['given'] = 'Bob'
- .
-   print(ruamel.yaml.dump(code, Dumper=ruamel.yaml.RoundTripDumper), end='')
- .
-  .. example code small.py
- .
- Resulting in ::
- .
-   # example
-   name:
-     # details
-     family: Smith   # very common
-     given: Bob      # one of the siblings
- .
- .
-  .. example output small.py
- .
- .
- YAML handcrafted anchors and references as well as key merging
- is preserved. The merged keys can transparently be accessed
- using ``[]`` and ``.get()``::
- .
-   import ruamel.yaml
- .
-   inp = """\
-   - &CENTER {x: 1, y: 2}
-   - &LEFT {x: 0, y: 2}
-   - &BIG {r: 10}
-   - &SMALL {r: 1}
-   # All the following maps are equal:
-   # Explicit keys
-   - x: 1
-     y: 2
-     r: 10
-     label: center/big
-   # Merge one map
-   - <<: *CENTER
-     r: 10
-     label: center/big
-   # Merge multiple maps
-   - <<: [*CENTER, *BIG]
-     label: center/big
-   # Override
-   - <<: [*BIG, *LEFT, *SMALL]
-     x: 1
-     label: center/big
-   """
- .
-   data = ruamel.yaml.load(inp, ruamel.yaml.RoundTripLoader)
-   assert data[7]['y'] == 2
- .
- .
-  .. example code anchor_merge.py
- .
- .
- Optional requirements
- =====================
- .
- If you have the C yaml library and headers installed, as well as
- the header files for your Python executables then you can use the
- non-roundtrip but faster C loader en emitter.
- .
- On Debian systems you should use::
- .
-     sudo apt-get install libyaml-dev python-dev python3-dev
- .
- you can leave out ``python3-dev`` if you don't use python3
- .
- For CentOS (7) based systems you should do::
- .
-    sudo yum install libyaml-devel python-devel
- .
- Testing
- =======
- .
- Testing is done using the `tox <https://pypi.python.org/pypi/tox>`_, which
- uses `virtualenv <https://pypi.python.org/pypi/virtualenv>`_ and
- `pytest <http://pytest.org/latest/>`_.
+ This package contains the Python 3 module.
 
 Package: pypy-ruamel.yaml
 Architecture: any
@@ -583,277 +51,9 @@ Depends: ${misc:Depends}, ${pypy:Depends}, ${shlibs:Depends},
 Recommends: ${pypy:Recommends}
 Suggests: ${pypy:Suggests}
 XB-Python-Egg-Name: ruamel.yaml
-Description: YAML parser/emitter that supports roundtrip preservation of comments, seq/map fl
- ruamel.yaml
- ===========
- .
- Starting with 0.10.7 the package has been reorganise and the
- commandline utility is in its own package ``ruamel.yaml.cmd`` (so
- installing ``ruamel.yaml`` doesn't pull in possible irrelevant modules
- only used in the commandline utility)
- .
- ``ruamel.yaml`` is a YAML package for Python. It is a derivative
- of Kirill Simonov's `PyYAML 3.11 <https://bitbucket.org/xi/pyyaml>`_
- which supports YAML1.1
- .
- Major differences with PyYAML 3.11:
- .
- - intergrated Python 2 and 3 sources, running on Python 2.6, 2.7 (CPython,
-   PyPy), 3.3 and 3.4.
- - round trip mode that **includes comments** (block mode, key ordering kept)
- - support for simple lists as mapping keys by transformation to tuples
- - ``!!omap`` generates ordereddict (C) on Python 2, collections.OrderedDict
-   on Python 3, and ``!!omap`` is generated for these types.
- - some `YAML 1.2 <http://yaml.org/spec/1.2/spec.html>`_ enhancements
-   (``0o`` octal prefix, ``\/`` escape)
- - pep8 compliance
- - tox and py.test based testing
- - Tests whether the C yaml library is installed as well as the header
-   files. That library  doesn't generate CommentTokens, so it cannot be used to
-   do round trip editing on comments. It can be used for speeded up normal
-   processing (so you don't need to install ``ruamel.yaml`` and ``PyYaml``).
-   See the section *Optional requirements*.
- - Basic support for multiline strings with preserved newlines and
-   chomping ( '``|``', '``|+``', '``|-``' ). As this subclasses the string type
-   the information is lost on reassignment. (This might be changed
-   in the future so that the preservation/folding/chomping is part of the
-   parent container, like comments).
- - RoundTrip preservation of flow style sequences ( 'a: b, c, d') (based
-   on request and test by Anthony Sottile)
- - anchors names that are hand-crafted (not of the form``idNNN``), are preserved
- - `merges <http://yaml.org/type/merge.html>`_ in dictionaries are preserved
- - adding/replacing of comments on block style sequences and mappings
-   with smart column positioning
- - collection objects (when read in via RoundTripParser) have an ``lc``
-   property that contains line and column info ``lc.line`` and ``lc.col``.
-   Individual positions for mappings and sequences can also be retrieved
-   (``lc.key('a')``, ``lc.value('a')`` resp. ``lc.item(3)``)
- - preservation of whitelines after block scalars. Contributed by Sam Thursfield.
- .
- Round trip including comments
- =============================
- .
- The major motivation for this fork is the round-trip capability for
- comments. The integration of the sources was just an initial step to
- make this easier.
- .
- adding/replacing comments
- -------------------------
- .
- Starting with version 0.8, you can add/replace comments on block style
- collections (mappings/sequences resuting in Python dict/list). The basic
- for for this is::
- .
-   from __future__ import print_function
- .
-   import ruamel.yaml
- .
-   inp = """\
-   abc:
-     - a     # comment 1
-   xyz:
-     a: 1    # comment 2
-     b: 2
-     c: 3
-     d: 4
-     e: 5
-     f: 6 # comment 3
-   """
- .
-   data = ruamel.yaml.load(inp, ruamel.yaml.RoundTripLoader)
-   data['abc'].append('b')
-   data['abc'].yaml_add_eol_comment('comment 4', 1)  # takes column of comment 1
-   data['xyz'].yaml_add_eol_comment('comment 5', 'c')  # takes column of comment 2
-   data['xyz'].yaml_add_eol_comment('comment 6', 'e')  # takes column of comment 3
-   data['xyz'].yaml_add_eol_comment('comment 7', 'd', column=20)
- .
-   print(ruamel.yaml.dump(data, Dumper=ruamel.yaml.RoundTripDumper), end='')
- .
-  .. example code add_comment.py
- .
- Resulting in::
- .
-   abc:
-   - a       # comment 1
-   - b       # comment 4
-   xyz:
-     a: 1    # comment 2
-     b: 2
-     c: 3    # comment 5
-     d: 4              # comment 7
-     e: 5 # comment 6
-     f: 6 # comment 3
- .
- .
-  .. example output add_comment.py
- .
- .
- If the comment doesn't start with '#', this will be added. The key is is
- the element index for list, the actual key for dictionaries. As can be seen
- from the example, the column to choose for a comment is derived
- from the previous, next or preceding comment column (picking the first one
- found).
- .
- Config file formats
- ===================
- .
- There are only a few configuration file formats that are easily
- readable, and editable: JSON, INI/ConfigParser, YAML (XML is to cluttered
- to be called easily readable).
- .
- Unfortunately `JSON <http://www.json.org/>`_ doesn't support comments,
- and although there are some solutions with pre-processed filtering of
- comments, there are no libraries that support round trip updating of
- such commented files.
- .
- INI files support comments, and the excellent `ConfigObj
- <http://www.voidspace.org.uk/python/configobj.html>`_ library by Foord
- and Larosa even supports round trip editing with comment preservation,
- nesting of sections and limited lists (within a value). Retrieval of
- particular value format is explicit (and extensible).
- .
- YAML has basic mapping and sequence structures as well support for
- ordered mappings and sets. It supports scalars are of various types
- including dates and datetimes (missing in JSON) as a list of
- YAML has comments, but these are normally thrown away.
- .
- Block structured YAML is a clean and very human readable
- format. By extending the Python YAML parser to support round trip
- preservation of comments, it makes YAML a very good choice for
- configuration files that are human readable and editable while at
- the same time interpretable and modifiable by a program.
- .
- Extending
- =========
- .
- There are normally 6 files involved when extending the roundtrip
- capabilities: the reader, parser, composer and constructor to go from YAML to
- Python and the resolver, representer, serializer and emitter to go the other
- way.
- .
- Extending involves keeping extra data around for the next process step,
- eventuallly resulting in a different Python object (subclass or alternative),
- that should behave like the original, but on the way from Python to YAML
- generates the original (or at least something much closer).
- .
- Smartening
- ==========
- .
- When you use round-tripping, then the complex data you get are
- already subclasses of the build in types. So you can patch
- in extra methods or override existing ones. Some methods are already
- included and you can do::
- .
-     yaml_str = """\
-     a:
-     - b:
-       c: 42
-     - d:
-         f: 196
-       e:
-         g: 3.14
-     """
- .
- .
-     data = yaml.load(yaml_str, Loader=yaml.RoundTripLoader)
- .
-     assert data.mlget(['a', 1, 'd', 'f'], list_ok=True) == 196
- .
- .
- Examples
- ========
- .
- Basic round trip of parsing YAML to Python objects, modifying
- and generating YAML::
- .
-   from __future__ import print_function
- .
-   import ruamel.yaml
- .
-   inp = """\
-   # example
-   name:
-     # details
-     family: Smith   # very common
-     given: Alice    # one of the siblings
-   """
- .
-   code = ruamel.yaml.load(inp, ruamel.yaml.RoundTripLoader)
-   code['name']['given'] = 'Bob'
- .
-   print(ruamel.yaml.dump(code, Dumper=ruamel.yaml.RoundTripDumper), end='')
- .
-  .. example code small.py
- .
- Resulting in ::
- .
-   # example
-   name:
-     # details
-     family: Smith   # very common
-     given: Bob      # one of the siblings
- .
- .
-  .. example output small.py
- .
- .
- YAML handcrafted anchors and references as well as key merging
- is preserved. The merged keys can transparently be accessed
- using ``[]`` and ``.get()``::
- .
-   import ruamel.yaml
- .
-   inp = """\
-   - &CENTER {x: 1, y: 2}
-   - &LEFT {x: 0, y: 2}
-   - &BIG {r: 10}
-   - &SMALL {r: 1}
-   # All the following maps are equal:
-   # Explicit keys
-   - x: 1
-     y: 2
-     r: 10
-     label: center/big
-   # Merge one map
-   - <<: *CENTER
-     r: 10
-     label: center/big
-   # Merge multiple maps
-   - <<: [*CENTER, *BIG]
-     label: center/big
-   # Override
-   - <<: [*BIG, *LEFT, *SMALL]
-     x: 1
-     label: center/big
-   """
- .
-   data = ruamel.yaml.load(inp, ruamel.yaml.RoundTripLoader)
-   assert data[7]['y'] == 2
- .
- .
-  .. example code anchor_merge.py
- .
- .
- Optional requirements
- =====================
- .
- If you have the C yaml library and headers installed, as well as
- the header files for your Python executables then you can use the
- non-roundtrip but faster C loader en emitter.
- .
- On Debian systems you should use::
- .
-     sudo apt-get install libyaml-dev python-dev python3-dev
- .
- you can leave out ``python3-dev`` if you don't use python3
- .
- For CentOS (7) based systems you should do::
- .
-    sudo yum install libyaml-devel python-devel
- .
- Testing
- =======
+Description: roundtrip YAML parser/emitter (Pypy 3 module)
+ ruamel.yaml is a YAML parser supporting roundtrip preservation of
+ comments, seq/map flow style and map key order. It is a derivative of
+ Kirill Simonov's PyYAML 3.11 which supports YAML1.1.
  .
- Testing is done using the `tox <https://pypi.python.org/pypi/tox>`_, which
- uses `virtualenv <https://pypi.python.org/pypi/virtualenv>`_ and
- `pytest <http://pytest.org/latest/>`_.
\ No newline at end of file
+ This package contains the module for Pypy.
diff --git a/debian/rules b/debian/rules
index f782ea2..d24b40d 100755
--- a/debian/rules
+++ b/debian/rules
@@ -3,5 +3,6 @@
 export PYBUILD_NAME=ruamel.yaml
 export PYBUILD_AFTER_INSTALL_pypy=rm -rf {destdir}/usr/bin/
 export PYBUILD_AFTER_INSTALL_python2=rm -rf {destdir}/usr/bin/
+
 %:
-	dh $@ --with python3,python2,pypy --buildsystem=pybuild
\ No newline at end of file
+	dh $@ --with python3,python2,pypy --buildsystem=pybuild

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/ruamel.yaml.git



More information about the Python-modules-commits mailing list