Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-ruamel.yaml for 
openSUSE:Factory checked in at 2021-12-09 19:44:59
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-ruamel.yaml (Old)
 and      /work/SRC/openSUSE:Factory/.python-ruamel.yaml.new.2520 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-ruamel.yaml"

Thu Dec  9 19:44:59 2021 rev:28 rq:934512 version:0.17.17

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-ruamel.yaml/python-ruamel.yaml.changes    
2021-10-20 20:24:24.737382816 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-ruamel.yaml.new.2520/python-ruamel.yaml.changes
  2021-12-09 19:45:00.521115908 +0100
@@ -1,0 +2,6 @@
+Mon Nov 29 11:01:04 UTC 2021 - Dirk M??ller <dmuel...@suse.com>
+
+- update to 0.17.17:
+  * extract timestamp matching/creation to util
+
+-------------------------------------------------------------------

Old:
----
  ruamel.yaml-0.17.16.tar.gz

New:
----
  ruamel.yaml-0.17.17.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-ruamel.yaml.spec ++++++
--- /var/tmp/diff_new_pack.tqKqrq/_old  2021-12-09 19:45:01.157116214 +0100
+++ /var/tmp/diff_new_pack.tqKqrq/_new  2021-12-09 19:45:01.161116216 +0100
@@ -18,7 +18,7 @@
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-ruamel.yaml
-Version:        0.17.16
+Version:        0.17.17
 Release:        0
 Summary:        Python YAML parser
 License:        MIT

++++++ ruamel.yaml-0.17.16.tar.gz -> ruamel.yaml-0.17.17.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ruamel.yaml-0.17.16/CHANGES 
new/ruamel.yaml-0.17.17/CHANGES
--- old/ruamel.yaml-0.17.16/CHANGES     2021-08-28 20:57:50.000000000 +0200
+++ new/ruamel.yaml-0.17.17/CHANGES     2021-10-31 21:13:06.000000000 +0100
@@ -1,3 +1,6 @@
+[0, 17, 17]: 2021-10-31
+  - extract timestamp matching/creation to util
+
 [0, 17, 16]: 2021-08-28
   - also handle issue 397 when comment is newline
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ruamel.yaml-0.17.16/PKG-INFO 
new/ruamel.yaml-0.17.17/PKG-INFO
--- old/ruamel.yaml-0.17.16/PKG-INFO    2021-08-28 21:00:15.345840700 +0200
+++ new/ruamel.yaml-0.17.17/PKG-INFO    2021-10-31 21:16:01.232837400 +0100
@@ -1,256 +1,11 @@
 Metadata-Version: 2.1
 Name: ruamel.yaml
-Version: 0.17.16
+Version: 0.17.17
 Summary: ruamel.yaml is a YAML parser/emitter that supports roundtrip 
preservation of comments, seq/map flow style, and map key order
 Home-page: https://sourceforge.net/p/ruamel-yaml/code/ci/default/tree
 Author: Anthon van der Neut
 Author-email: a.van.der.n...@ruamel.eu
 License: MIT license
-Description: 
-        ruamel.yaml
-        ===========
-        
-        ``ruamel.yaml`` is a YAML 1.2 loader/dumper package for Python.
-        
-        :version:       0.17.16
-        :updated:       2021-08-28
-        :documentation: http://yaml.readthedocs.io
-        :repository:    https://sourceforge.net/projects/ruamel-yaml/
-        :pypi:          https://pypi.org/project/ruamel.yaml/
-        
-        *The 0.16.13 release was the last that will tested to be working on 
Python 2.7.
-        The 0.17 series will still be tested on Python 3.5, but the 0.18 will 
not. The
-        0.17 series will also stop support for the old PyYAML functions, so a 
`YAML()` instance
-        will need to be created.*
-        
-        *The 0.17 series will also see changes in how comments are attached 
during
-        roundtrip. This will result in backwards incompatibilities on the 
`.ca` data and
-        it might even be necessary for documented methods that handle 
comments.*
-        
-        *Please adjust your dependencies accordingly if necessary. 
(`ruamel.yaml<0.17`)*
-        
-        
-        Starting with version 0.15.0 the way YAML files are loaded and dumped
-        has been changing, see the API doc for details.  Currently existing
-        functionality will throw a warning before being changed/removed.
-        **For production systems already using a pre 0.16 version, you should
-        pin the version being used with ``ruamel.yaml<=0.15``** if you cannot
-        fully test upgrading to a newer version. For new usage
-        pin to the minor version tested ( ``ruamel.yaml<=0.17``) or even to the
-        exact version used. 
-        
-        New functionality is usually only available via the new API, so
-        make sure you use it and stop using the `ruamel.yaml.safe_load()`,
-        `ruamel.yaml.round_trip_load()` and `ruamel.yaml.load()` functions
-        (and their `....dump()` counterparts).
-        
-        If your package uses ``ruamel.yaml`` and is not listed on PyPI, drop
-        me an email, preferably with some information on how you use the
-        package (or a link to the repository) and I'll keep you informed
-        when the status of the API is stable enough to make the transition.
-        
-        * `Overview <http://yaml.readthedocs.org/en/latest/overview.html>`_
-        * `Installing <http://yaml.readthedocs.org/en/latest/install.html>`_
-        * `Basic Usage <http://yaml.readthedocs.org/en/latest/basicuse.html>`_
-        * `Details <http://yaml.readthedocs.org/en/latest/detail.html>`_
-        * `Examples <http://yaml.readthedocs.org/en/latest/example.html>`_
-        * `API <http://yaml.readthedocs.org/en/latest/api.html>`_
-        * `Differences with PyYAML 
<http://yaml.readthedocs.org/en/latest/pyyaml.html>`_
-        
-        .. image:: https://readthedocs.org/projects/yaml/badge/?version=stable
-           :target: https://yaml.readthedocs.org/en/stable
-        
-        .. image:: 
https://bestpractices.coreinfrastructure.org/projects/1128/badge
-           :target: https://bestpractices.coreinfrastructure.org/projects/1128
-        
-        .. image:: 
https://sourceforge.net/p/ruamel-yaml/code/ci/default/tree/_doc/_static/license.svg?format=raw
-           :target: https://opensource.org/licenses/MIT
-        
-        .. image:: 
https://sourceforge.net/p/ruamel-yaml/code/ci/default/tree/_doc/_static/pypi.svg?format=raw
-           :target: https://pypi.org/project/ruamel.yaml/
-        
-        .. image:: 
https://sourceforge.net/p/oitnb/code/ci/default/tree/_doc/_static/oitnb.svg?format=raw
-           :target: https://pypi.org/project/oitnb/
-        
-        .. image:: http://www.mypy-lang.org/static/mypy_badge.svg
-           :target: http://mypy-lang.org/
-        
-        ChangeLog
-        =========
-        
-        .. should insert NEXT: at the beginning of line for next key (with 
empty line)
-        
-        0.17.16 (2021-08-28):
-          - also handle issue 397 when comment is newline
-        
-        0.17.15 (2021-08-28):
-          - fix issue 397, insert comment before key when a comment between 
key and value exists
-            (reported by `Bastien gerard 
<https://sourceforge.net/u/bagerard/>`__)
-        
-        0.17.14 (2021-08-25):
-          - fix issue 396, inserting key/val in merged-in dictionary (reported 
by `Bastien gerard 
-            <https://sourceforge.net/u/bagerard/>`__)
-        
-        0.17.13 (2021-08-21):
-          - minor fix in attr handling
-        
-        0.17.12 (2021-08-21):
-          - fix issue with anchor on registered class not preserved and those 
classes using package 
-            attrs with `@attr.s()` (both reported by `ssph 
<https://sourceforge.net/u/sph/>`__)
-        
-        0.17.11 (2021-08-19):
-          - fix error baseclass for ``DuplicateKeyErorr`` (reported by 
`??ukasz Rogalski
-            <https://sourceforge.net/u/lrogalski/>`__)
-          - fix typo in reader error message, causing `KeyError` during reader 
error 
-            (reported by `MTU <https://sourceforge.net/u/mtu/>`__)
-        
-        0.17.10 (2021-06-24):
-          - fix issue 388, token with old comment structure != two elements
-            (reported by `Dimitrios Bariamis 
<https://sourceforge.net/u/dbdbc/>`__)
-        
-        0.17.9 (2021-06-10):
-          - fix issue with updating CommentedMap (reported by sri on
-            `StackOverflow <https://stackoverflow.com/q/67911659/1307905>`__)
-        
-        0.17.8 (2021-06-09):
-          - fix for issue 387 where templated anchors on tagged object did get 
set
-            resulting in potential id reuse. (reported by `Artem Ploujnikov 
-            <https://sourceforge.net/u/flexthink/>`__)
-        
-        0.17.7 (2021-05-31):
-          - issue 385 also affected other deprecated loaders (reported via 
email 
-            by Oren Watson)
-        
-        0.17.6 (2021-05-31):
-          - merged type annotations update provided by 
-            `Jochen Sprickerhof <https://sourceforge.net/u/jspricke/>`__
-          - fix for issue 385: deprecated round_trip_loader function not 
working
-            (reported by `Mike Gouline <https://sourceforge.net/u/gouline/>`__)
-          - wasted a few hours getting rid of mypy warnings/errors
-          
-        0.17.5 (2021-05-30):
-          - fix for issue 384 !!set with aliased entry resulting in broken 
YAML on rt
-            reported by  `William Kimball 
<https://sourceforge.net/u/william303/>`__)
-        
-        0.17.4 (2021-04-07):
-          - prevent (empty) comments from throwing assertion error (issue 351 
-            reported by  `William Kimball 
<https://sourceforge.net/u/william303/>`__)
-            comments (or empty line) will be dropped 
-        
-        0.17.3 (2021-04-07):
-          - fix for issue 382 caused by an error in a format string (reported 
by
-            `William Kimball <https://sourceforge.net/u/william303/>`__)
-          - allow expansion of aliases by setting ``yaml.composer.return_alias 
= lambda s: copy.deepcopy(s)``
-             (as per `Stackoverflow answer 
<https://stackoverflow.com/a/66983530/1307905>`__)
-        
-        0.17.2 (2021-03-29):
-          - change -py2.py3-none-any.whl to -py3-none-any.whl, and remove 
0.17.1
-        
-        0.17.1 (2021-03-29):
-           - added 'Programming Language :: Python :: 3 :: Only', and removing
-             0.17.0 from PyPI (reported by `Alasdair Nicol 
<https://sourceforge.net/u/alasdairnicol/>`__)
-        
-        0.17.0 (2021-03-26):
-          - removed because of incomplete classifiers
-          - this release no longer supports Python 2.7, most if not all Python 
2
-            specific code is removed. The 0.17.x series is the last to  
support Python 3.5
-            (this also allowed for removal of the dependency  on 
``ruamel.std.pathlib``)
-          - remove Python2 specific code branches and adaptations (u-strings)
-          - prepare % code for f-strings using ``_F``
-          - allow PyOxidisation (`issue 324 
<https://sourceforge.net/p/ruamel-yaml/tickets/324/>`__
-            resp. `issue 171 
<https://github.com/indygreg/PyOxidizer/issues/171>`__)
-          - replaced Python 2 compatible enforcement of keyword arguments with 
'*'
-          - the old top level *functions* ``load``, ``safe_load``, 
``round_trip_load``,
-            ``dump``, ``safe_dump``, ``round_trip_dump``, ``scan``, ``parse``,
-            ``compose``, ``emit``, ``serialize`` as well as their ``_all`` 
variants for
-            multi-document streams, now issue a ``PendingDeprecationning`` 
(e.g. when run
-            from pytest, but also Python is started with ``-Wd``). Use the 
methods on
-            ``YAML()``, which have been extended.
-          - fix for issue 376: indentation changes could put literal/folded 
scalar to start
-            before the ``#`` column of a following comment. Effectively making 
the comment
-            part of the scalar in the output. (reported by
-            `Bence Nagy <https://sourceforge.net/u/underyx/>`__)
-        
-        
-        0.16.13 (2021-03-05):
-          - fix for issue 359: could not update() CommentedMap with keyword 
arguments
-            (reported by `Steve Franchak 
<https://sourceforge.net/u/binaryadder/>`__)
-          - fix for issue 365: unable to dump mutated TimeStamp objects
-            (reported by Anton Akmerov 
<https://sourceforge.net/u/akhmerov/>`__)
-          - fix for issue 371: unable to addd comment without starting space
-            (reported by 'Mark Grandi <https://sourceforge.net/u/mgrandi>`__)
-          - fix for issue 373: recursive call to walk_tree not preserving all 
params
-            (reported by `eulores <https://sourceforge.net/u/eulores/>`__)
-          - a None value in a flow-style sequence is now dumped as `null` 
instead
-            of `!!null ''` (reported by mcarans on
-            `StackOverflow <https://stackoverflow.com/a/66489600/1307905>`__)
-        
-        0.16.12 (2020-09-04):
-          - update links in doc
-        
-        0.16.11 (2020-09-03):
-          - workaround issue with setuptools 0.50 and importing pip ( fix by 
jaraco
-            
https://github.com/pypa/setuptools/issues/2355#issuecomment-685159580 )
-        
-        0.16.10 (2020-02-12):
-          - (auto) updated image references in README to sourceforge
-        
-        0.16.9 (2020-02-11):
-          - update CHANGES
-        
-        0.16.8 (2020-02-11):
-          - update requirements so that ruamel.yaml.clib is installed for 3.8,
-            as it has become available (via manylinux builds)
-        
-        0.16.7 (2020-01-30):
-          - fix typchecking issue on TaggedScalar (reported by Jens Nielsen)
-          - fix error in dumping literal scalar in sequence with comments 
before element
-            (reported by `EJ Etherington 
<https://sourceforge.net/u/ejether/>`__)
-        
-        0.16.6 (2020-01-20):
-          - fix empty string mapping key roundtripping with preservation of 
quotes as `? ''`
-            (reported via email by Tomer Aharoni).
-          - fix incorrect state setting in class constructor (reported by 
`Douglas Raillard
-            
<https://bitbucket.org/%7Bcf052d92-a278-4339-9aa8-de41923bb556%7D/>`__)
-          - adjust deprecation warning test for Hashable, as that no longer 
warns (reported
-            by `Jason Montleon 
<https://bitbucket.org/%7B8f377d12-8d5b-4069-a662-00a2674fee4e%7D/>`__)
-        
-        0.16.5 (2019-08-18):
-          - allow for ``YAML(typ=['unsafe', 'pytypes'])``
-        
-        0.16.4 (2019-08-16):
-          - fix output of TAG directives with # (reported by `Thomas Smith
-            
<https://bitbucket.org/%7Bd4c57a72-f041-4843-8217-b4d48b6ece2f%7D/>`__)
-        
-        
-        0.16.3 (2019-08-15):
-          - split construct_object
-          - change stuff back to keep mypy happy
-          - move setting of version based on YAML directive to scanner, 
allowing to
-            check for file version during TAG directive scanning
-        
-        0.16.2 (2019-08-15):
-          - preserve YAML and TAG directives on roundtrip, correctly output #
-            in URL for YAML 1.2 (both reported by `Thomas Smith
-            
<https://bitbucket.org/%7Bd4c57a72-f041-4843-8217-b4d48b6ece2f%7D/>`__)
-        
-        0.16.1 (2019-08-08):
-          - Force the use of new version of ruamel.yaml.clib (reported by 
`Alex Joz
-            
<https://bitbucket.org/%7B9af55900-2534-4212-976c-61339b6ffe14%7D/>`__)
-          - Allow '#' in tag URI as these are allowed in YAML 1.2 (reported by
-            `Thomas Smith
-            
<https://bitbucket.org/%7Bd4c57a72-f041-4843-8217-b4d48b6ece2f%7D/>`__)
-        
-        0.16.0 (2019-07-25):
-          - split of C source that generates .so file to ruamel.yaml.clib
-          - duplicate keys are now an error when working with the old API as 
well
-        
-        
-        ----
-        
-        For older changes see the file
-        `CHANGES 
<https://sourceforge.net/p/ruamel-yaml/code/ci/default/tree/CHANGES>`_
-        
 Keywords: yaml 1.2 parser round-trip preserve quotes order config
 Platform: UNKNOWN
 Classifier: Development Status :: 4 - Beta
@@ -272,3 +27,254 @@
 Description-Content-Type: text/x-rst
 Provides-Extra: jinja2
 Provides-Extra: docs
+License-File: LICENSE
+
+
+ruamel.yaml
+===========
+
+``ruamel.yaml`` is a YAML 1.2 loader/dumper package for Python.
+
+:version:       0.17.17
+:updated:       2021-10-31
+:documentation: http://yaml.readthedocs.io
+:repository:    https://sourceforge.net/projects/ruamel-yaml/
+:pypi:          https://pypi.org/project/ruamel.yaml/
+
+*The 0.16.13 release was the last that was tested to be working on Python 2.7.
+The 0.17 series will still be tested on Python 3.5, but the 0.18 will not. The
+0.17 series will also stop support for the old PyYAML functions, so a `YAML()` 
instance
+will need to be created.*
+
+*The 0.17 series will also see changes in how comments are attached during
+roundtrip. This will result in backwards incompatibilities on the `.ca` data 
and
+it might even be necessary for documented methods that handle comments.*
+
+*Please adjust your dependencies accordingly if necessary. 
(`ruamel.yaml<0.17`)*
+
+
+Starting with version 0.15.0 the way YAML files are loaded and dumped
+has been changing, see the API doc for details.  Currently existing
+functionality will throw a warning before being changed/removed.
+**For production systems already using a pre 0.16 version, you should
+pin the version being used with ``ruamel.yaml<=0.15``** if you cannot
+fully test upgrading to a newer version. For new usage
+pin to the minor version tested ( ``ruamel.yaml<=0.17``) or even to the
+exact version used. 
+
+New functionality is usually only available via the new API, so
+make sure you use it and stop using the `ruamel.yaml.safe_load()`,
+`ruamel.yaml.round_trip_load()` and `ruamel.yaml.load()` functions
+(and their `....dump()` counterparts).
+
+If your package uses ``ruamel.yaml`` and is not listed on PyPI, drop
+me an email, preferably with some information on how you use the
+package (or a link to the repository) and I'll keep you informed
+when the status of the API is stable enough to make the transition.
+
+* `Overview <http://yaml.readthedocs.org/en/latest/overview.html>`_
+* `Installing <http://yaml.readthedocs.org/en/latest/install.html>`_
+* `Basic Usage <http://yaml.readthedocs.org/en/latest/basicuse.html>`_
+* `Details <http://yaml.readthedocs.org/en/latest/detail.html>`_
+* `Examples <http://yaml.readthedocs.org/en/latest/example.html>`_
+* `API <http://yaml.readthedocs.org/en/latest/api.html>`_
+* `Differences with PyYAML 
<http://yaml.readthedocs.org/en/latest/pyyaml.html>`_
+
+.. image:: https://readthedocs.org/projects/yaml/badge/?version=stable
+   :target: https://yaml.readthedocs.org/en/stable
+
+.. image:: https://bestpractices.coreinfrastructure.org/projects/1128/badge
+   :target: https://bestpractices.coreinfrastructure.org/projects/1128
+
+.. image:: 
https://sourceforge.net/p/ruamel-yaml/code/ci/default/tree/_doc/_static/license.svg?format=raw
+   :target: https://opensource.org/licenses/MIT
+
+.. image:: 
https://sourceforge.net/p/ruamel-yaml/code/ci/default/tree/_doc/_static/pypi.svg?format=raw
+   :target: https://pypi.org/project/ruamel.yaml/
+
+.. image:: 
https://sourceforge.net/p/oitnb/code/ci/default/tree/_doc/_static/oitnb.svg?format=raw
+   :target: https://pypi.org/project/oitnb/
+
+.. image:: http://www.mypy-lang.org/static/mypy_badge.svg
+   :target: http://mypy-lang.org/
+
+ChangeLog
+=========
+
+.. should insert NEXT: at the beginning of line for next key (with empty line)
+
+0.17.17 (2021-10-31):
+  - extract timestamp matching/creation to util
+
+0.17.16 (2021-08-28):
+  - 398 also handle issue 397 when comment is newline
+
+0.17.15 (2021-08-28):
+  - fix issue 397, insert comment before key when a comment between key and 
value exists
+    (reported by `Bastien gerard <https://sourceforge.net/u/bagerard/>`__)
+
+0.17.14 (2021-08-25):
+  - fix issue 396, inserting key/val in merged-in dictionary (reported by 
`Bastien gerard 
+    <https://sourceforge.net/u/bagerard/>`__)
+
+0.17.13 (2021-08-21):
+  - minor fix in attr handling
+
+0.17.12 (2021-08-21):
+  - fix issue with anchor on registered class not preserved and those classes 
using package 
+    attrs with `@attr.s()` (both reported by `ssph 
<https://sourceforge.net/u/sph/>`__)
+
+0.17.11 (2021-08-19):
+  - fix error baseclass for ``DuplicateKeyErorr`` (reported by `??ukasz 
Rogalski
+    <https://sourceforge.net/u/lrogalski/>`__)
+  - fix typo in reader error message, causing `KeyError` during reader error 
+    (reported by `MTU <https://sourceforge.net/u/mtu/>`__)
+
+0.17.10 (2021-06-24):
+  - fix issue 388, token with old comment structure != two elements
+    (reported by `Dimitrios Bariamis <https://sourceforge.net/u/dbdbc/>`__)
+
+0.17.9 (2021-06-10):
+  - fix issue with updating CommentedMap (reported by sri on
+    `StackOverflow <https://stackoverflow.com/q/67911659/1307905>`__)
+
+0.17.8 (2021-06-09):
+  - fix for issue 387 where templated anchors on tagged object did get set
+    resulting in potential id reuse. (reported by `Artem Ploujnikov 
+    <https://sourceforge.net/u/flexthink/>`__)
+
+0.17.7 (2021-05-31):
+  - issue 385 also affected other deprecated loaders (reported via email 
+    by Oren Watson)
+
+0.17.6 (2021-05-31):
+  - merged type annotations update provided by 
+    `Jochen Sprickerhof <https://sourceforge.net/u/jspricke/>`__
+  - fix for issue 385: deprecated round_trip_loader function not working
+    (reported by `Mike Gouline <https://sourceforge.net/u/gouline/>`__)
+  - wasted a few hours getting rid of mypy warnings/errors
+  
+0.17.5 (2021-05-30):
+  - fix for issue 384 !!set with aliased entry resulting in broken YAML on rt
+    reported by  `William Kimball <https://sourceforge.net/u/william303/>`__)
+
+0.17.4 (2021-04-07):
+  - prevent (empty) comments from throwing assertion error (issue 351 
+    reported by  `William Kimball <https://sourceforge.net/u/william303/>`__)
+    comments (or empty line) will be dropped 
+
+0.17.3 (2021-04-07):
+  - fix for issue 382 caused by an error in a format string (reported by
+    `William Kimball <https://sourceforge.net/u/william303/>`__)
+  - allow expansion of aliases by setting ``yaml.composer.return_alias = 
lambda s: copy.deepcopy(s)``
+     (as per `Stackoverflow answer 
<https://stackoverflow.com/a/66983530/1307905>`__)
+
+0.17.2 (2021-03-29):
+  - change -py2.py3-none-any.whl to -py3-none-any.whl, and remove 0.17.1
+
+0.17.1 (2021-03-29):
+   - added 'Programming Language :: Python :: 3 :: Only', and removing
+     0.17.0 from PyPI (reported by `Alasdair Nicol 
<https://sourceforge.net/u/alasdairnicol/>`__)
+
+0.17.0 (2021-03-26):
+  - removed because of incomplete classifiers
+  - this release no longer supports Python 2.7, most if not all Python 2
+    specific code is removed. The 0.17.x series is the last to  support Python 
3.5
+    (this also allowed for removal of the dependency  on 
``ruamel.std.pathlib``)
+  - remove Python2 specific code branches and adaptations (u-strings)
+  - prepare % code for f-strings using ``_F``
+  - allow PyOxidisation (`issue 324 
<https://sourceforge.net/p/ruamel-yaml/tickets/324/>`__
+    resp. `issue 171 <https://github.com/indygreg/PyOxidizer/issues/171>`__)
+  - replaced Python 2 compatible enforcement of keyword arguments with '*'
+  - the old top level *functions* ``load``, ``safe_load``, ``round_trip_load``,
+    ``dump``, ``safe_dump``, ``round_trip_dump``, ``scan``, ``parse``,
+    ``compose``, ``emit``, ``serialize`` as well as their ``_all`` variants for
+    multi-document streams, now issue a ``PendingDeprecationning`` (e.g. when 
run
+    from pytest, but also Python is started with ``-Wd``). Use the methods on
+    ``YAML()``, which have been extended.
+  - fix for issue 376: indentation changes could put literal/folded scalar to 
start
+    before the ``#`` column of a following comment. Effectively making the 
comment
+    part of the scalar in the output. (reported by
+    `Bence Nagy <https://sourceforge.net/u/underyx/>`__)
+
+
+0.16.13 (2021-03-05):
+  - fix for issue 359: could not update() CommentedMap with keyword arguments
+    (reported by `Steve Franchak <https://sourceforge.net/u/binaryadder/>`__)
+  - fix for issue 365: unable to dump mutated TimeStamp objects
+    (reported by Anton Akmerov <https://sourceforge.net/u/akhmerov/>`__)
+  - fix for issue 371: unable to addd comment without starting space
+    (reported by 'Mark Grandi <https://sourceforge.net/u/mgrandi>`__)
+  - fix for issue 373: recursive call to walk_tree not preserving all params
+    (reported by `eulores <https://sourceforge.net/u/eulores/>`__)
+  - a None value in a flow-style sequence is now dumped as `null` instead
+    of `!!null ''` (reported by mcarans on
+    `StackOverflow <https://stackoverflow.com/a/66489600/1307905>`__)
+
+0.16.12 (2020-09-04):
+  - update links in doc
+
+0.16.11 (2020-09-03):
+  - workaround issue with setuptools 0.50 and importing pip ( fix by jaraco
+    https://github.com/pypa/setuptools/issues/2355#issuecomment-685159580 )
+
+0.16.10 (2020-02-12):
+  - (auto) updated image references in README to sourceforge
+
+0.16.9 (2020-02-11):
+  - update CHANGES
+
+0.16.8 (2020-02-11):
+  - update requirements so that ruamel.yaml.clib is installed for 3.8,
+    as it has become available (via manylinux builds)
+
+0.16.7 (2020-01-30):
+  - fix typchecking issue on TaggedScalar (reported by Jens Nielsen)
+  - fix error in dumping literal scalar in sequence with comments before 
element
+    (reported by `EJ Etherington <https://sourceforge.net/u/ejether/>`__)
+
+0.16.6 (2020-01-20):
+  - fix empty string mapping key roundtripping with preservation of quotes as 
`? ''`
+    (reported via email by Tomer Aharoni).
+  - fix incorrect state setting in class constructor (reported by `Douglas 
Raillard
+    <https://bitbucket.org/%7Bcf052d92-a278-4339-9aa8-de41923bb556%7D/>`__)
+  - adjust deprecation warning test for Hashable, as that no longer warns 
(reported
+    by `Jason Montleon 
<https://bitbucket.org/%7B8f377d12-8d5b-4069-a662-00a2674fee4e%7D/>`__)
+
+0.16.5 (2019-08-18):
+  - allow for ``YAML(typ=['unsafe', 'pytypes'])``
+
+0.16.4 (2019-08-16):
+  - fix output of TAG directives with # (reported by `Thomas Smith
+    <https://bitbucket.org/%7Bd4c57a72-f041-4843-8217-b4d48b6ece2f%7D/>`__)
+
+
+0.16.3 (2019-08-15):
+  - split construct_object
+  - change stuff back to keep mypy happy
+  - move setting of version based on YAML directive to scanner, allowing to
+    check for file version during TAG directive scanning
+
+0.16.2 (2019-08-15):
+  - preserve YAML and TAG directives on roundtrip, correctly output #
+    in URL for YAML 1.2 (both reported by `Thomas Smith
+    <https://bitbucket.org/%7Bd4c57a72-f041-4843-8217-b4d48b6ece2f%7D/>`__)
+
+0.16.1 (2019-08-08):
+  - Force the use of new version of ruamel.yaml.clib (reported by `Alex Joz
+    <https://bitbucket.org/%7B9af55900-2534-4212-976c-61339b6ffe14%7D/>`__)
+  - Allow '#' in tag URI as these are allowed in YAML 1.2 (reported by
+    `Thomas Smith
+    <https://bitbucket.org/%7Bd4c57a72-f041-4843-8217-b4d48b6ece2f%7D/>`__)
+
+0.16.0 (2019-07-25):
+  - split of C source that generates .so file to ruamel.yaml.clib
+  - duplicate keys are now an error when working with the old API as well
+
+
+----
+
+For older changes see the file
+`CHANGES <https://sourceforge.net/p/ruamel-yaml/code/ci/default/tree/CHANGES>`_
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ruamel.yaml-0.17.16/README.rst 
new/ruamel.yaml-0.17.17/README.rst
--- old/ruamel.yaml-0.17.16/README.rst  2021-08-28 20:57:50.000000000 +0200
+++ new/ruamel.yaml-0.17.17/README.rst  2021-10-31 21:13:06.000000000 +0100
@@ -4,13 +4,13 @@
 
 ``ruamel.yaml`` is a YAML 1.2 loader/dumper package for Python.
 
-:version:       0.17.16
-:updated:       2021-08-28
+:version:       0.17.17
+:updated:       2021-10-31
 :documentation: http://yaml.readthedocs.io
 :repository:    https://sourceforge.net/projects/ruamel-yaml/
 :pypi:          https://pypi.org/project/ruamel.yaml/
 
-*The 0.16.13 release was the last that will tested to be working on Python 2.7.
+*The 0.16.13 release was the last that was tested to be working on Python 2.7.
 The 0.17 series will still be tested on Python 3.5, but the 0.18 will not. The
 0.17 series will also stop support for the old PyYAML functions, so a `YAML()` 
instance
 will need to be created.*
@@ -72,8 +72,11 @@
 
 .. should insert NEXT: at the beginning of line for next key (with empty line)
 
+0.17.17 (2021-10-31):
+  - extract timestamp matching/creation to util
+
 0.17.16 (2021-08-28):
-  - also handle issue 397 when comment is newline
+  - 398 also handle issue 397 when comment is newline
 
 0.17.15 (2021-08-28):
   - fix issue 397, insert comment before key when a comment between key and 
value exists
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ruamel.yaml-0.17.16/__init__.py 
new/ruamel.yaml-0.17.17/__init__.py
--- old/ruamel.yaml-0.17.16/__init__.py 2021-08-28 20:58:00.000000000 +0200
+++ new/ruamel.yaml-0.17.17/__init__.py 2021-10-31 21:13:33.000000000 +0100
@@ -5,8 +5,8 @@
 
 _package_data = dict(
     full_package_name='ruamel.yaml',
-    version_info=(0, 17, 16),
-    __version__='0.17.16',
+    version_info=(0, 17, 17),
+    __version__='0.17.17',
     author='Anthon van der Neut',
     author_email='a.van.der.n...@ruamel.eu',
     description='ruamel.yaml is a YAML parser/emitter that supports roundtrip 
preservation of comments, seq/map flow style, and map key order',  # NOQA
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ruamel.yaml-0.17.16/comments.py 
new/ruamel.yaml-0.17.17/comments.py
--- old/ruamel.yaml-0.17.16/comments.py 2021-08-28 20:55:26.000000000 +0200
+++ new/ruamel.yaml-0.17.17/comments.py 2021-10-31 20:31:50.000000000 +0100
@@ -870,12 +870,13 @@
             # probably a dict that is used
             for x in vals[0]:
                 self[x] = vals[0][x]
-        try:
-            self._ok.update(vals[0].keys())  # type: ignore
-        except AttributeError:
-            # assume one argument that is a list/tuple of two element 
lists/tuples
-            for x in vals[0]:
-                self._ok.add(x[0])
+        if vals:
+            try:
+                self._ok.update(vals[0].keys())  # type: ignore
+            except AttributeError:
+                # assume one argument that is a list/tuple of two element 
lists/tuples
+                for x in vals[0]:
+                    self._ok.add(x[0])
         if kw:
             self._ok.add(*kw.keys())
 
@@ -980,7 +981,7 @@
         #     # not found in merged in stuff
         #     ordereddict.__delitem__(self, key)
         #    for referer in self._ref:
-        #        referer.update_key_value(key)
+        #        referer.update=_key_value(key)
         #    return
         #
         # ordereddict.__setitem__(self, key, value)  # merge might have 
different value
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ruamel.yaml-0.17.16/constructor.py 
new/ruamel.yaml-0.17.17/constructor.py
--- old/ruamel.yaml-0.17.16/constructor.py      2021-08-21 15:24:05.000000000 
+0200
+++ new/ruamel.yaml-0.17.17/constructor.py      2021-10-31 21:11:27.000000000 
+0100
@@ -3,7 +3,6 @@
 import datetime
 import base64
 import binascii
-import re
 import sys
 import types
 import warnings
@@ -32,7 +31,7 @@
 from ruamel.yaml.scalarfloat import ScalarFloat
 from ruamel.yaml.scalarbool import ScalarBoolean
 from ruamel.yaml.timestamp import TimeStamp
-from ruamel.yaml.util import RegExp
+from ruamel.yaml.util import timestamp_regexp, create_timestamp
 
 if False:  # MYPY
     from typing import Any, Dict, List, Set, Generator, Union, Optional  # NOQA
@@ -554,19 +553,7 @@
                 node.start_mark,
             )
 
-    timestamp_regexp = RegExp(
-        """^(?P<year>[0-9][0-9][0-9][0-9])
-          -(?P<month>[0-9][0-9]?)
-          -(?P<day>[0-9][0-9]?)
-          (?:((?P<t>[Tt])|[ \\t]+)   # explictly not retaining extra spaces
-          (?P<hour>[0-9][0-9]?)
-          :(?P<minute>[0-9][0-9])
-          :(?P<second>[0-9][0-9])
-          (?:\\.(?P<fraction>[0-9]*))?
-          (?:[ \\t]*(?P<tz>Z|(?P<tz_sign>[-+])(?P<tz_hour>[0-9][0-9]?)
-          (?::(?P<tz_minute>[0-9][0-9]))?))?)?$""",
-        re.X,
-    )
+    timestamp_regexp = timestamp_regexp  # moved to util 0.17.17
 
     def construct_yaml_timestamp(self, node, values=None):
         # type: (Any, Any) -> Any
@@ -583,42 +570,7 @@
                     node.start_mark,
                 )
             values = match.groupdict()
-        year = int(values['year'])
-        month = int(values['month'])
-        day = int(values['day'])
-        if not values['hour']:
-            return datetime.date(year, month, day)
-        hour = int(values['hour'])
-        minute = int(values['minute'])
-        second = int(values['second'])
-        fraction = 0
-        if values['fraction']:
-            fraction_s = values['fraction'][:6]
-            while len(fraction_s) < 6:
-                fraction_s += '0'
-            fraction = int(fraction_s)
-            if len(values['fraction']) > 6 and int(values['fraction'][6]) > 4:
-                fraction += 1
-        delta = None
-        if values['tz_sign']:
-            tz_hour = int(values['tz_hour'])
-            minutes = values['tz_minute']
-            tz_minute = int(minutes) if minutes else 0
-            delta = datetime.timedelta(hours=tz_hour, minutes=tz_minute)
-            if values['tz_sign'] == '-':
-                delta = -delta
-        # should do something else instead (or hook this up to the preceding 
if statement
-        # in reverse
-        #  if delta is None:
-        #      return datetime.datetime(year, month, day, hour, minute, 
second, fraction)
-        #  return datetime.datetime(year, month, day, hour, minute, second, 
fraction,
-        #                           datetime.timezone.utc)
-        # the above is not good enough though, should provide tzinfo. In 
Python3 that is easily
-        # doable drop that kind of support for Python2 as it has not native 
tzinfo
-        data = datetime.datetime(year, month, day, hour, minute, second, 
fraction)
-        if delta:
-            data -= delta
-        return data
+        return create_timestamp(**values)
 
     def construct_yaml_omap(self, node):
         # type: (Any) -> Any
@@ -1799,12 +1751,14 @@
             )
         values = match.groupdict()
         if not values['hour']:
-            return SafeConstructor.construct_yaml_timestamp(self, node, values)
+            return create_timestamp(**values)
+            # return SafeConstructor.construct_yaml_timestamp(self, node, 
values)
         for part in ['t', 'tz_sign', 'tz_hour', 'tz_minute']:
             if values[part]:
                 break
         else:
-            return SafeConstructor.construct_yaml_timestamp(self, node, values)
+            return create_timestamp(**values)
+            # return SafeConstructor.construct_yaml_timestamp(self, node, 
values)
         year = int(values['year'])
         month = int(values['month'])
         day = int(values['day'])
@@ -1827,7 +1781,7 @@
             delta = datetime.timedelta(hours=tz_hour, minutes=tz_minute)
             if values['tz_sign'] == '-':
                 delta = -delta
-        # shold check for NOne and solve issue 366 should be tzinfo=delta)
+        # should check for None and solve issue 366 should be tzinfo=delta)
         if delta:
             dt = datetime.datetime(year, month, day, hour, minute)
             dt -= delta
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ruamel.yaml-0.17.16/ruamel.yaml.egg-info/PKG-INFO 
new/ruamel.yaml-0.17.17/ruamel.yaml.egg-info/PKG-INFO
--- old/ruamel.yaml-0.17.16/ruamel.yaml.egg-info/PKG-INFO       2021-08-28 
21:00:15.000000000 +0200
+++ new/ruamel.yaml-0.17.17/ruamel.yaml.egg-info/PKG-INFO       2021-10-31 
21:16:01.000000000 +0100
@@ -1,256 +1,11 @@
 Metadata-Version: 2.1
 Name: ruamel.yaml
-Version: 0.17.16
+Version: 0.17.17
 Summary: ruamel.yaml is a YAML parser/emitter that supports roundtrip 
preservation of comments, seq/map flow style, and map key order
 Home-page: https://sourceforge.net/p/ruamel-yaml/code/ci/default/tree
 Author: Anthon van der Neut
 Author-email: a.van.der.n...@ruamel.eu
 License: MIT license
-Description: 
-        ruamel.yaml
-        ===========
-        
-        ``ruamel.yaml`` is a YAML 1.2 loader/dumper package for Python.
-        
-        :version:       0.17.16
-        :updated:       2021-08-28
-        :documentation: http://yaml.readthedocs.io
-        :repository:    https://sourceforge.net/projects/ruamel-yaml/
-        :pypi:          https://pypi.org/project/ruamel.yaml/
-        
-        *The 0.16.13 release was the last that will tested to be working on 
Python 2.7.
-        The 0.17 series will still be tested on Python 3.5, but the 0.18 will 
not. The
-        0.17 series will also stop support for the old PyYAML functions, so a 
`YAML()` instance
-        will need to be created.*
-        
-        *The 0.17 series will also see changes in how comments are attached 
during
-        roundtrip. This will result in backwards incompatibilities on the 
`.ca` data and
-        it might even be necessary for documented methods that handle 
comments.*
-        
-        *Please adjust your dependencies accordingly if necessary. 
(`ruamel.yaml<0.17`)*
-        
-        
-        Starting with version 0.15.0 the way YAML files are loaded and dumped
-        has been changing, see the API doc for details.  Currently existing
-        functionality will throw a warning before being changed/removed.
-        **For production systems already using a pre 0.16 version, you should
-        pin the version being used with ``ruamel.yaml<=0.15``** if you cannot
-        fully test upgrading to a newer version. For new usage
-        pin to the minor version tested ( ``ruamel.yaml<=0.17``) or even to the
-        exact version used. 
-        
-        New functionality is usually only available via the new API, so
-        make sure you use it and stop using the `ruamel.yaml.safe_load()`,
-        `ruamel.yaml.round_trip_load()` and `ruamel.yaml.load()` functions
-        (and their `....dump()` counterparts).
-        
-        If your package uses ``ruamel.yaml`` and is not listed on PyPI, drop
-        me an email, preferably with some information on how you use the
-        package (or a link to the repository) and I'll keep you informed
-        when the status of the API is stable enough to make the transition.
-        
-        * `Overview <http://yaml.readthedocs.org/en/latest/overview.html>`_
-        * `Installing <http://yaml.readthedocs.org/en/latest/install.html>`_
-        * `Basic Usage <http://yaml.readthedocs.org/en/latest/basicuse.html>`_
-        * `Details <http://yaml.readthedocs.org/en/latest/detail.html>`_
-        * `Examples <http://yaml.readthedocs.org/en/latest/example.html>`_
-        * `API <http://yaml.readthedocs.org/en/latest/api.html>`_
-        * `Differences with PyYAML 
<http://yaml.readthedocs.org/en/latest/pyyaml.html>`_
-        
-        .. image:: https://readthedocs.org/projects/yaml/badge/?version=stable
-           :target: https://yaml.readthedocs.org/en/stable
-        
-        .. image:: 
https://bestpractices.coreinfrastructure.org/projects/1128/badge
-           :target: https://bestpractices.coreinfrastructure.org/projects/1128
-        
-        .. image:: 
https://sourceforge.net/p/ruamel-yaml/code/ci/default/tree/_doc/_static/license.svg?format=raw
-           :target: https://opensource.org/licenses/MIT
-        
-        .. image:: 
https://sourceforge.net/p/ruamel-yaml/code/ci/default/tree/_doc/_static/pypi.svg?format=raw
-           :target: https://pypi.org/project/ruamel.yaml/
-        
-        .. image:: 
https://sourceforge.net/p/oitnb/code/ci/default/tree/_doc/_static/oitnb.svg?format=raw
-           :target: https://pypi.org/project/oitnb/
-        
-        .. image:: http://www.mypy-lang.org/static/mypy_badge.svg
-           :target: http://mypy-lang.org/
-        
-        ChangeLog
-        =========
-        
-        .. should insert NEXT: at the beginning of line for next key (with 
empty line)
-        
-        0.17.16 (2021-08-28):
-          - also handle issue 397 when comment is newline
-        
-        0.17.15 (2021-08-28):
-          - fix issue 397, insert comment before key when a comment between 
key and value exists
-            (reported by `Bastien gerard 
<https://sourceforge.net/u/bagerard/>`__)
-        
-        0.17.14 (2021-08-25):
-          - fix issue 396, inserting key/val in merged-in dictionary (reported 
by `Bastien gerard 
-            <https://sourceforge.net/u/bagerard/>`__)
-        
-        0.17.13 (2021-08-21):
-          - minor fix in attr handling
-        
-        0.17.12 (2021-08-21):
-          - fix issue with anchor on registered class not preserved and those 
classes using package 
-            attrs with `@attr.s()` (both reported by `ssph 
<https://sourceforge.net/u/sph/>`__)
-        
-        0.17.11 (2021-08-19):
-          - fix error baseclass for ``DuplicateKeyErorr`` (reported by 
`??ukasz Rogalski
-            <https://sourceforge.net/u/lrogalski/>`__)
-          - fix typo in reader error message, causing `KeyError` during reader 
error 
-            (reported by `MTU <https://sourceforge.net/u/mtu/>`__)
-        
-        0.17.10 (2021-06-24):
-          - fix issue 388, token with old comment structure != two elements
-            (reported by `Dimitrios Bariamis 
<https://sourceforge.net/u/dbdbc/>`__)
-        
-        0.17.9 (2021-06-10):
-          - fix issue with updating CommentedMap (reported by sri on
-            `StackOverflow <https://stackoverflow.com/q/67911659/1307905>`__)
-        
-        0.17.8 (2021-06-09):
-          - fix for issue 387 where templated anchors on tagged object did get 
set
-            resulting in potential id reuse. (reported by `Artem Ploujnikov 
-            <https://sourceforge.net/u/flexthink/>`__)
-        
-        0.17.7 (2021-05-31):
-          - issue 385 also affected other deprecated loaders (reported via 
email 
-            by Oren Watson)
-        
-        0.17.6 (2021-05-31):
-          - merged type annotations update provided by 
-            `Jochen Sprickerhof <https://sourceforge.net/u/jspricke/>`__
-          - fix for issue 385: deprecated round_trip_loader function not 
working
-            (reported by `Mike Gouline <https://sourceforge.net/u/gouline/>`__)
-          - wasted a few hours getting rid of mypy warnings/errors
-          
-        0.17.5 (2021-05-30):
-          - fix for issue 384 !!set with aliased entry resulting in broken 
YAML on rt
-            reported by  `William Kimball 
<https://sourceforge.net/u/william303/>`__)
-        
-        0.17.4 (2021-04-07):
-          - prevent (empty) comments from throwing assertion error (issue 351 
-            reported by  `William Kimball 
<https://sourceforge.net/u/william303/>`__)
-            comments (or empty line) will be dropped 
-        
-        0.17.3 (2021-04-07):
-          - fix for issue 382 caused by an error in a format string (reported 
by
-            `William Kimball <https://sourceforge.net/u/william303/>`__)
-          - allow expansion of aliases by setting ``yaml.composer.return_alias 
= lambda s: copy.deepcopy(s)``
-             (as per `Stackoverflow answer 
<https://stackoverflow.com/a/66983530/1307905>`__)
-        
-        0.17.2 (2021-03-29):
-          - change -py2.py3-none-any.whl to -py3-none-any.whl, and remove 
0.17.1
-        
-        0.17.1 (2021-03-29):
-           - added 'Programming Language :: Python :: 3 :: Only', and removing
-             0.17.0 from PyPI (reported by `Alasdair Nicol 
<https://sourceforge.net/u/alasdairnicol/>`__)
-        
-        0.17.0 (2021-03-26):
-          - removed because of incomplete classifiers
-          - this release no longer supports Python 2.7, most if not all Python 
2
-            specific code is removed. The 0.17.x series is the last to  
support Python 3.5
-            (this also allowed for removal of the dependency  on 
``ruamel.std.pathlib``)
-          - remove Python2 specific code branches and adaptations (u-strings)
-          - prepare % code for f-strings using ``_F``
-          - allow PyOxidisation (`issue 324 
<https://sourceforge.net/p/ruamel-yaml/tickets/324/>`__
-            resp. `issue 171 
<https://github.com/indygreg/PyOxidizer/issues/171>`__)
-          - replaced Python 2 compatible enforcement of keyword arguments with 
'*'
-          - the old top level *functions* ``load``, ``safe_load``, 
``round_trip_load``,
-            ``dump``, ``safe_dump``, ``round_trip_dump``, ``scan``, ``parse``,
-            ``compose``, ``emit``, ``serialize`` as well as their ``_all`` 
variants for
-            multi-document streams, now issue a ``PendingDeprecationning`` 
(e.g. when run
-            from pytest, but also Python is started with ``-Wd``). Use the 
methods on
-            ``YAML()``, which have been extended.
-          - fix for issue 376: indentation changes could put literal/folded 
scalar to start
-            before the ``#`` column of a following comment. Effectively making 
the comment
-            part of the scalar in the output. (reported by
-            `Bence Nagy <https://sourceforge.net/u/underyx/>`__)
-        
-        
-        0.16.13 (2021-03-05):
-          - fix for issue 359: could not update() CommentedMap with keyword 
arguments
-            (reported by `Steve Franchak 
<https://sourceforge.net/u/binaryadder/>`__)
-          - fix for issue 365: unable to dump mutated TimeStamp objects
-            (reported by Anton Akmerov 
<https://sourceforge.net/u/akhmerov/>`__)
-          - fix for issue 371: unable to addd comment without starting space
-            (reported by 'Mark Grandi <https://sourceforge.net/u/mgrandi>`__)
-          - fix for issue 373: recursive call to walk_tree not preserving all 
params
-            (reported by `eulores <https://sourceforge.net/u/eulores/>`__)
-          - a None value in a flow-style sequence is now dumped as `null` 
instead
-            of `!!null ''` (reported by mcarans on
-            `StackOverflow <https://stackoverflow.com/a/66489600/1307905>`__)
-        
-        0.16.12 (2020-09-04):
-          - update links in doc
-        
-        0.16.11 (2020-09-03):
-          - workaround issue with setuptools 0.50 and importing pip ( fix by 
jaraco
-            
https://github.com/pypa/setuptools/issues/2355#issuecomment-685159580 )
-        
-        0.16.10 (2020-02-12):
-          - (auto) updated image references in README to sourceforge
-        
-        0.16.9 (2020-02-11):
-          - update CHANGES
-        
-        0.16.8 (2020-02-11):
-          - update requirements so that ruamel.yaml.clib is installed for 3.8,
-            as it has become available (via manylinux builds)
-        
-        0.16.7 (2020-01-30):
-          - fix typchecking issue on TaggedScalar (reported by Jens Nielsen)
-          - fix error in dumping literal scalar in sequence with comments 
before element
-            (reported by `EJ Etherington 
<https://sourceforge.net/u/ejether/>`__)
-        
-        0.16.6 (2020-01-20):
-          - fix empty string mapping key roundtripping with preservation of 
quotes as `? ''`
-            (reported via email by Tomer Aharoni).
-          - fix incorrect state setting in class constructor (reported by 
`Douglas Raillard
-            
<https://bitbucket.org/%7Bcf052d92-a278-4339-9aa8-de41923bb556%7D/>`__)
-          - adjust deprecation warning test for Hashable, as that no longer 
warns (reported
-            by `Jason Montleon 
<https://bitbucket.org/%7B8f377d12-8d5b-4069-a662-00a2674fee4e%7D/>`__)
-        
-        0.16.5 (2019-08-18):
-          - allow for ``YAML(typ=['unsafe', 'pytypes'])``
-        
-        0.16.4 (2019-08-16):
-          - fix output of TAG directives with # (reported by `Thomas Smith
-            
<https://bitbucket.org/%7Bd4c57a72-f041-4843-8217-b4d48b6ece2f%7D/>`__)
-        
-        
-        0.16.3 (2019-08-15):
-          - split construct_object
-          - change stuff back to keep mypy happy
-          - move setting of version based on YAML directive to scanner, 
allowing to
-            check for file version during TAG directive scanning
-        
-        0.16.2 (2019-08-15):
-          - preserve YAML and TAG directives on roundtrip, correctly output #
-            in URL for YAML 1.2 (both reported by `Thomas Smith
-            
<https://bitbucket.org/%7Bd4c57a72-f041-4843-8217-b4d48b6ece2f%7D/>`__)
-        
-        0.16.1 (2019-08-08):
-          - Force the use of new version of ruamel.yaml.clib (reported by 
`Alex Joz
-            
<https://bitbucket.org/%7B9af55900-2534-4212-976c-61339b6ffe14%7D/>`__)
-          - Allow '#' in tag URI as these are allowed in YAML 1.2 (reported by
-            `Thomas Smith
-            
<https://bitbucket.org/%7Bd4c57a72-f041-4843-8217-b4d48b6ece2f%7D/>`__)
-        
-        0.16.0 (2019-07-25):
-          - split of C source that generates .so file to ruamel.yaml.clib
-          - duplicate keys are now an error when working with the old API as 
well
-        
-        
-        ----
-        
-        For older changes see the file
-        `CHANGES 
<https://sourceforge.net/p/ruamel-yaml/code/ci/default/tree/CHANGES>`_
-        
 Keywords: yaml 1.2 parser round-trip preserve quotes order config
 Platform: UNKNOWN
 Classifier: Development Status :: 4 - Beta
@@ -272,3 +27,254 @@
 Description-Content-Type: text/x-rst
 Provides-Extra: jinja2
 Provides-Extra: docs
+License-File: LICENSE
+
+
+ruamel.yaml
+===========
+
+``ruamel.yaml`` is a YAML 1.2 loader/dumper package for Python.
+
+:version:       0.17.17
+:updated:       2021-10-31
+:documentation: http://yaml.readthedocs.io
+:repository:    https://sourceforge.net/projects/ruamel-yaml/
+:pypi:          https://pypi.org/project/ruamel.yaml/
+
+*The 0.16.13 release was the last that was tested to be working on Python 2.7.
+The 0.17 series will still be tested on Python 3.5, but the 0.18 will not. The
+0.17 series will also stop support for the old PyYAML functions, so a `YAML()` 
instance
+will need to be created.*
+
+*The 0.17 series will also see changes in how comments are attached during
+roundtrip. This will result in backwards incompatibilities on the `.ca` data 
and
+it might even be necessary for documented methods that handle comments.*
+
+*Please adjust your dependencies accordingly if necessary. 
(`ruamel.yaml<0.17`)*
+
+
+Starting with version 0.15.0 the way YAML files are loaded and dumped
+has been changing, see the API doc for details.  Currently existing
+functionality will throw a warning before being changed/removed.
+**For production systems already using a pre 0.16 version, you should
+pin the version being used with ``ruamel.yaml<=0.15``** if you cannot
+fully test upgrading to a newer version. For new usage
+pin to the minor version tested ( ``ruamel.yaml<=0.17``) or even to the
+exact version used. 
+
+New functionality is usually only available via the new API, so
+make sure you use it and stop using the `ruamel.yaml.safe_load()`,
+`ruamel.yaml.round_trip_load()` and `ruamel.yaml.load()` functions
+(and their `....dump()` counterparts).
+
+If your package uses ``ruamel.yaml`` and is not listed on PyPI, drop
+me an email, preferably with some information on how you use the
+package (or a link to the repository) and I'll keep you informed
+when the status of the API is stable enough to make the transition.
+
+* `Overview <http://yaml.readthedocs.org/en/latest/overview.html>`_
+* `Installing <http://yaml.readthedocs.org/en/latest/install.html>`_
+* `Basic Usage <http://yaml.readthedocs.org/en/latest/basicuse.html>`_
+* `Details <http://yaml.readthedocs.org/en/latest/detail.html>`_
+* `Examples <http://yaml.readthedocs.org/en/latest/example.html>`_
+* `API <http://yaml.readthedocs.org/en/latest/api.html>`_
+* `Differences with PyYAML 
<http://yaml.readthedocs.org/en/latest/pyyaml.html>`_
+
+.. image:: https://readthedocs.org/projects/yaml/badge/?version=stable
+   :target: https://yaml.readthedocs.org/en/stable
+
+.. image:: https://bestpractices.coreinfrastructure.org/projects/1128/badge
+   :target: https://bestpractices.coreinfrastructure.org/projects/1128
+
+.. image:: 
https://sourceforge.net/p/ruamel-yaml/code/ci/default/tree/_doc/_static/license.svg?format=raw
+   :target: https://opensource.org/licenses/MIT
+
+.. image:: 
https://sourceforge.net/p/ruamel-yaml/code/ci/default/tree/_doc/_static/pypi.svg?format=raw
+   :target: https://pypi.org/project/ruamel.yaml/
+
+.. image:: 
https://sourceforge.net/p/oitnb/code/ci/default/tree/_doc/_static/oitnb.svg?format=raw
+   :target: https://pypi.org/project/oitnb/
+
+.. image:: http://www.mypy-lang.org/static/mypy_badge.svg
+   :target: http://mypy-lang.org/
+
+ChangeLog
+=========
+
+.. should insert NEXT: at the beginning of line for next key (with empty line)
+
+0.17.17 (2021-10-31):
+  - extract timestamp matching/creation to util
+
+0.17.16 (2021-08-28):
+  - 398 also handle issue 397 when comment is newline
+
+0.17.15 (2021-08-28):
+  - fix issue 397, insert comment before key when a comment between key and 
value exists
+    (reported by `Bastien gerard <https://sourceforge.net/u/bagerard/>`__)
+
+0.17.14 (2021-08-25):
+  - fix issue 396, inserting key/val in merged-in dictionary (reported by 
`Bastien gerard 
+    <https://sourceforge.net/u/bagerard/>`__)
+
+0.17.13 (2021-08-21):
+  - minor fix in attr handling
+
+0.17.12 (2021-08-21):
+  - fix issue with anchor on registered class not preserved and those classes 
using package 
+    attrs with `@attr.s()` (both reported by `ssph 
<https://sourceforge.net/u/sph/>`__)
+
+0.17.11 (2021-08-19):
+  - fix error baseclass for ``DuplicateKeyErorr`` (reported by `??ukasz 
Rogalski
+    <https://sourceforge.net/u/lrogalski/>`__)
+  - fix typo in reader error message, causing `KeyError` during reader error 
+    (reported by `MTU <https://sourceforge.net/u/mtu/>`__)
+
+0.17.10 (2021-06-24):
+  - fix issue 388, token with old comment structure != two elements
+    (reported by `Dimitrios Bariamis <https://sourceforge.net/u/dbdbc/>`__)
+
+0.17.9 (2021-06-10):
+  - fix issue with updating CommentedMap (reported by sri on
+    `StackOverflow <https://stackoverflow.com/q/67911659/1307905>`__)
+
+0.17.8 (2021-06-09):
+  - fix for issue 387 where templated anchors on tagged object did get set
+    resulting in potential id reuse. (reported by `Artem Ploujnikov 
+    <https://sourceforge.net/u/flexthink/>`__)
+
+0.17.7 (2021-05-31):
+  - issue 385 also affected other deprecated loaders (reported via email 
+    by Oren Watson)
+
+0.17.6 (2021-05-31):
+  - merged type annotations update provided by 
+    `Jochen Sprickerhof <https://sourceforge.net/u/jspricke/>`__
+  - fix for issue 385: deprecated round_trip_loader function not working
+    (reported by `Mike Gouline <https://sourceforge.net/u/gouline/>`__)
+  - wasted a few hours getting rid of mypy warnings/errors
+  
+0.17.5 (2021-05-30):
+  - fix for issue 384 !!set with aliased entry resulting in broken YAML on rt
+    reported by  `William Kimball <https://sourceforge.net/u/william303/>`__)
+
+0.17.4 (2021-04-07):
+  - prevent (empty) comments from throwing assertion error (issue 351 
+    reported by  `William Kimball <https://sourceforge.net/u/william303/>`__)
+    comments (or empty line) will be dropped 
+
+0.17.3 (2021-04-07):
+  - fix for issue 382 caused by an error in a format string (reported by
+    `William Kimball <https://sourceforge.net/u/william303/>`__)
+  - allow expansion of aliases by setting ``yaml.composer.return_alias = 
lambda s: copy.deepcopy(s)``
+     (as per `Stackoverflow answer 
<https://stackoverflow.com/a/66983530/1307905>`__)
+
+0.17.2 (2021-03-29):
+  - change -py2.py3-none-any.whl to -py3-none-any.whl, and remove 0.17.1
+
+0.17.1 (2021-03-29):
+   - added 'Programming Language :: Python :: 3 :: Only', and removing
+     0.17.0 from PyPI (reported by `Alasdair Nicol 
<https://sourceforge.net/u/alasdairnicol/>`__)
+
+0.17.0 (2021-03-26):
+  - removed because of incomplete classifiers
+  - this release no longer supports Python 2.7, most if not all Python 2
+    specific code is removed. The 0.17.x series is the last to  support Python 
3.5
+    (this also allowed for removal of the dependency  on 
``ruamel.std.pathlib``)
+  - remove Python2 specific code branches and adaptations (u-strings)
+  - prepare % code for f-strings using ``_F``
+  - allow PyOxidisation (`issue 324 
<https://sourceforge.net/p/ruamel-yaml/tickets/324/>`__
+    resp. `issue 171 <https://github.com/indygreg/PyOxidizer/issues/171>`__)
+  - replaced Python 2 compatible enforcement of keyword arguments with '*'
+  - the old top level *functions* ``load``, ``safe_load``, ``round_trip_load``,
+    ``dump``, ``safe_dump``, ``round_trip_dump``, ``scan``, ``parse``,
+    ``compose``, ``emit``, ``serialize`` as well as their ``_all`` variants for
+    multi-document streams, now issue a ``PendingDeprecationning`` (e.g. when 
run
+    from pytest, but also Python is started with ``-Wd``). Use the methods on
+    ``YAML()``, which have been extended.
+  - fix for issue 376: indentation changes could put literal/folded scalar to 
start
+    before the ``#`` column of a following comment. Effectively making the 
comment
+    part of the scalar in the output. (reported by
+    `Bence Nagy <https://sourceforge.net/u/underyx/>`__)
+
+
+0.16.13 (2021-03-05):
+  - fix for issue 359: could not update() CommentedMap with keyword arguments
+    (reported by `Steve Franchak <https://sourceforge.net/u/binaryadder/>`__)
+  - fix for issue 365: unable to dump mutated TimeStamp objects
+    (reported by Anton Akmerov <https://sourceforge.net/u/akhmerov/>`__)
+  - fix for issue 371: unable to addd comment without starting space
+    (reported by 'Mark Grandi <https://sourceforge.net/u/mgrandi>`__)
+  - fix for issue 373: recursive call to walk_tree not preserving all params
+    (reported by `eulores <https://sourceforge.net/u/eulores/>`__)
+  - a None value in a flow-style sequence is now dumped as `null` instead
+    of `!!null ''` (reported by mcarans on
+    `StackOverflow <https://stackoverflow.com/a/66489600/1307905>`__)
+
+0.16.12 (2020-09-04):
+  - update links in doc
+
+0.16.11 (2020-09-03):
+  - workaround issue with setuptools 0.50 and importing pip ( fix by jaraco
+    https://github.com/pypa/setuptools/issues/2355#issuecomment-685159580 )
+
+0.16.10 (2020-02-12):
+  - (auto) updated image references in README to sourceforge
+
+0.16.9 (2020-02-11):
+  - update CHANGES
+
+0.16.8 (2020-02-11):
+  - update requirements so that ruamel.yaml.clib is installed for 3.8,
+    as it has become available (via manylinux builds)
+
+0.16.7 (2020-01-30):
+  - fix typchecking issue on TaggedScalar (reported by Jens Nielsen)
+  - fix error in dumping literal scalar in sequence with comments before 
element
+    (reported by `EJ Etherington <https://sourceforge.net/u/ejether/>`__)
+
+0.16.6 (2020-01-20):
+  - fix empty string mapping key roundtripping with preservation of quotes as 
`? ''`
+    (reported via email by Tomer Aharoni).
+  - fix incorrect state setting in class constructor (reported by `Douglas 
Raillard
+    <https://bitbucket.org/%7Bcf052d92-a278-4339-9aa8-de41923bb556%7D/>`__)
+  - adjust deprecation warning test for Hashable, as that no longer warns 
(reported
+    by `Jason Montleon 
<https://bitbucket.org/%7B8f377d12-8d5b-4069-a662-00a2674fee4e%7D/>`__)
+
+0.16.5 (2019-08-18):
+  - allow for ``YAML(typ=['unsafe', 'pytypes'])``
+
+0.16.4 (2019-08-16):
+  - fix output of TAG directives with # (reported by `Thomas Smith
+    <https://bitbucket.org/%7Bd4c57a72-f041-4843-8217-b4d48b6ece2f%7D/>`__)
+
+
+0.16.3 (2019-08-15):
+  - split construct_object
+  - change stuff back to keep mypy happy
+  - move setting of version based on YAML directive to scanner, allowing to
+    check for file version during TAG directive scanning
+
+0.16.2 (2019-08-15):
+  - preserve YAML and TAG directives on roundtrip, correctly output #
+    in URL for YAML 1.2 (both reported by `Thomas Smith
+    <https://bitbucket.org/%7Bd4c57a72-f041-4843-8217-b4d48b6ece2f%7D/>`__)
+
+0.16.1 (2019-08-08):
+  - Force the use of new version of ruamel.yaml.clib (reported by `Alex Joz
+    <https://bitbucket.org/%7B9af55900-2534-4212-976c-61339b6ffe14%7D/>`__)
+  - Allow '#' in tag URI as these are allowed in YAML 1.2 (reported by
+    `Thomas Smith
+    <https://bitbucket.org/%7Bd4c57a72-f041-4843-8217-b4d48b6ece2f%7D/>`__)
+
+0.16.0 (2019-07-25):
+  - split of C source that generates .so file to ruamel.yaml.clib
+  - duplicate keys are now an error when working with the old API as well
+
+
+----
+
+For older changes see the file
+`CHANGES <https://sourceforge.net/p/ruamel-yaml/code/ci/default/tree/CHANGES>`_
+
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ruamel.yaml-0.17.16/util.py 
new/ruamel.yaml-0.17.17/util.py
--- old/ruamel.yaml-0.17.16/util.py     2021-05-30 22:33:24.000000000 +0200
+++ new/ruamel.yaml-0.17.17/util.py     2021-10-31 21:09:34.000000000 +0100
@@ -4,6 +4,7 @@
 some helper functions that might be generally useful
 """
 
+import datetime
 from functools import partial
 import re
 
@@ -48,6 +49,63 @@
 
 RegExp = partial(LazyEval, re.compile)
 
+timestamp_regexp = RegExp(
+    """^(?P<year>[0-9][0-9][0-9][0-9])
+       -(?P<month>[0-9][0-9]?)
+       -(?P<day>[0-9][0-9]?)
+       (?:((?P<t>[Tt])|[ \\t]+)   # explictly not retaining extra spaces
+       (?P<hour>[0-9][0-9]?)
+       :(?P<minute>[0-9][0-9])
+       :(?P<second>[0-9][0-9])
+       (?:\\.(?P<fraction>[0-9]*))?
+        (?:[ \\t]*(?P<tz>Z|(?P<tz_sign>[-+])(?P<tz_hour>[0-9][0-9]?)
+       (?::(?P<tz_minute>[0-9][0-9]))?))?)?$""",
+    re.X,
+)
+
+
+def create_timestamp(
+    year, month, day, t, hour, minute, second, fraction, tz, tz_sign, tz_hour, 
tz_minute
+):
+    year = int(year)
+    month = int(month)
+    day = int(day)
+    if not hour:
+        return datetime.date(year, month, day)
+    hour = int(hour)
+    minute = int(minute)
+    second = int(second)
+    if fraction:
+        frac = 0
+        frac_s = fraction[:6]
+        while len(frac_s) < 6:
+            frac_s += '0'
+        frac = int(frac_s)
+        if len(fraction) > 6 and int(fraction[6]) > 4:
+            frac += 1
+        fraction = frac
+    else:
+        fraction = 0
+    delta = None
+    if tz_sign:
+        tz_hour = int(tz_hour)
+        tz_minute = int(tz_minute) if tz_minute else 0
+        delta = datetime.timedelta(hours=tz_hour, minutes=tz_minute)
+        if tz_sign == '-':
+            delta = -delta
+    # should do something else instead (or hook this up to the preceding if 
statement
+    # in reverse
+    #  if delta is None:
+    #      return datetime.datetime(year, month, day, hour, minute, second, 
fraction)
+    #  return datetime.datetime(year, month, day, hour, minute, second, 
fraction,
+    #                           datetime.timezone.utc)
+    # the above is not good enough though, should provide tzinfo. In Python3 
that is easily
+    # doable drop that kind of support for Python2 as it has not native tzinfo
+    data = datetime.datetime(year, month, day, hour, minute, second, fraction)
+    if delta:
+        data -= delta
+    return data
+
 
 # originally as comment
 # https://github.com/pre-commit/pre-commit/pull/211#issuecomment-186466605

Reply via email to