summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthon van der Neut <anthon@mnt.org>2023-05-02 08:07:26 +0200
committerAnthon van der Neut <anthon@mnt.org>2023-05-02 08:07:26 +0200
commitb87bbd1afd0c4a644d8ecf6e90561b1910ac57c4 (patch)
tree861cb398aabc20692375747004f9bde429b740be
parentd8f939cfb75f05787eb363e4e919fafea1f439f7 (diff)
downloadruamel.yaml-b87bbd1afd0c4a644d8ecf6e90561b1910ac57c4.tar.gz
fix readme, xfail spec_6_260.17.22
-rw-r--r--CHANGES24
-rw-r--r--LICENSE2
-rw-r--r--README.rst34
-rw-r--r--__init__.py6
-rw-r--r--_doc/_static/pypi.svg2
-rw-r--r--_test/test_issues.py2
-rw-r--r--_test/test_tag.py3
-rwxr-xr-xtox.ini14
8 files changed, 54 insertions, 33 deletions
diff --git a/CHANGES b/CHANGES
index f59a8b8..9a1bba8 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,27 @@
+[0, 17, 22]: 2023-05-02
+
+ - fix issue 449 where the second exclamation marks got URL encoded (reported
+ and fixing PR provided by `John Stark <https://sourceforge.net/u/jods/profile/>`__)
+ - fix issue with indent != 2 and literal scalars with empty first line
+ (reported by wrdis on `StackOverflow <https://stackoverflow.com/q/75584262/1307905>`__)
+ - updated __repr__ of CommentedMap, now that Python's dict is ordered -> no more
+ ordereddict(list-of-tuples)
+ - merge MR 4, handling OctalInt in YAML 1.1
+ (provided by `Jacob Floyd <https://sourceforge.net/u/cognifloyd/profile/>`_)
+ - fix loading of `!!float 42` (reported by Eric on
+ `Stack overflow <https://stackoverflow.com/a/71555107/1307905>`_)
+ - line numbers are now set on `CommentedKeySeq` and `CommentedKeyMap` (which
+ are created if you have a sequence resp. mapping as the key in a mapping)
+ - plain scalars: put single words longer than width on a line of their own, instead
+ of after the previous line (issue 427, reported by `Antoine Cotten
+ <https://sourceforge.net/u/antoineco/profile/>`_). Caveat: this currently results in a
+ space ending the previous line.
+ - fix for folded scalar part of 421: comments after ">" on first line of folded
+ scalars are now preserved (as were those in the same position on literal scalars).
+ Issue reported by Jacob Floyd.
+ - added stacklevel to warnings
+ - typing changed from Py2 compatible comments to Py3, removed various Py2-isms
+
[0, 17, 21]: 2022-02-12
- fix bug in calling `.compose()` method with `pathlib.Path` instance.
diff --git a/LICENSE b/LICENSE
index 678f5cc..5fdca40 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
The MIT License (MIT)
- Copyright (c) 2014-2022 Anthon van der Neut, Ruamel bvba
+ Copyright (c) 2014-2023 Anthon van der Neut, Ruamel bvba
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/README.rst b/README.rst
index b5b2f80..16b5659 100644
--- a/README.rst
+++ b/README.rst
@@ -4,34 +4,26 @@ ruamel.yaml
``ruamel.yaml`` is a YAML 1.2 loader/dumper package for Python.
-:version: 0.17.21
-:updated: 2022-02-12
+:version: 0.17.22
+:updated: 2023-05-02
: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.21 was the last one tested to be working on Python 3.5 and 3.6 (the
-latter not tested, because
-tox/virtualenv stopped supporting that EOL versions).
+*Starting with 0.17.22 only Python 3.7+ is supported.
The 0.17 series is also the last to support old PyYAML functions, replace it by
creating a `YAML()` instance and use its `.load()` and `.dump()` methods.*
+New(er) functionality is usually only available via the new API.
-*Please adjust your dependencies accordingly if necessary. (`ruamel.yaml<0.18`)*
+The 0.17.21 was the last one tested to be working on Python 3.5 and 3.6 (the
+latter was not tested, because
+tox/virtualenv stopped supporting that EOL version).
+The 0.16.13 release was the last that was tested to be working on Python 2.7.
-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.
+*Please adjust/pin your dependencies accordingly if necessary. (`ruamel.yaml<0.18`)*
-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).
+There are now two extra plug-in packages (`ruamel.yaml.bytes` and `ruamel.yaml.string`)
+for those not wanting to do the streaming to a `io.BytesIO/StringIO` buffer themselves.
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
@@ -69,8 +61,10 @@ ChangeLog
.. should insert NEXT: at the beginning of line for next key (with empty line)
-NEXT:
+0.17.22 (2023-05-02):
+ - fix issue 449 where the second exclamation marks got URL encoded (reported
+ and fixing PR provided by `John Stark <https://sourceforge.net/u/jods/profile/>`__)
- fix issue with indent != 2 and literal scalars with empty first line
(reported by wrdis on `StackOverflow <https://stackoverflow.com/q/75584262/1307905>`__)
- updated __repr__ of CommentedMap, now that Python's dict is ordered -> no more
diff --git a/__init__.py b/__init__.py
index 58e39af..3a7b355 100644
--- a/__init__.py
+++ b/__init__.py
@@ -5,9 +5,9 @@ if False: # MYPY
_package_data = dict(
full_package_name='ruamel.yaml',
- version_info=(0, 17, 21),
- __version__='0.17.21',
- version_timestamp='2022-02-12 09:49:22',
+ version_info=(0, 17, 22),
+ __version__='0.17.22',
+ version_timestamp='2023-05-02 08:06:59',
author='Anthon van der Neut',
author_email='a.van.der.neut@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 --git a/_doc/_static/pypi.svg b/_doc/_static/pypi.svg
index 315b8c9..9197e4e 100644
--- a/_doc/_static/pypi.svg
+++ b/_doc/_static/pypi.svg
@@ -1 +1 @@
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="86" height="20"><linearGradient id="b" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="a"><rect width="86" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#a)"><path fill="#555" d="M0 0h33v20H0z"/><path fill="#007ec6" d="M33 0h53v20H33z"/><path fill="url(#b)" d="M0 0h86v20H0z"/></g><g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="110"> <text x="175" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="230">pypi</text><text x="175" y="140" transform="scale(.1)" textLength="230">pypi</text><text x="585" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="430">0.17.21</text><text x="585" y="140" transform="scale(.1)" textLength="430">0.17.21</text></g> </svg>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="86" height="20"><linearGradient id="b" x2="0" y2="100%"><stop offset="0" stop-color="#bbb" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="a"><rect width="86" height="20" rx="3" fill="#fff"/></clipPath><g clip-path="url(#a)"><path fill="#555" d="M0 0h33v20H0z"/><path fill="#007ec6" d="M33 0h53v20H33z"/><path fill="url(#b)" d="M0 0h86v20H0z"/></g><g fill="#fff" text-anchor="middle" font-family="DejaVu Sans,Verdana,Geneva,sans-serif" font-size="110"> <text x="175" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="230">pypi</text><text x="175" y="140" transform="scale(.1)" textLength="230">pypi</text><text x="585" y="150" fill="#010101" fill-opacity=".3" transform="scale(.1)" textLength="430">0.17.22</text><text x="585" y="140" transform="scale(.1)" textLength="430">0.17.22</text></g> </svg>
diff --git a/_test/test_issues.py b/_test/test_issues.py
index d722b74..47e8e87 100644
--- a/_test/test_issues.py
+++ b/_test/test_issues.py
@@ -864,7 +864,7 @@ class TestIssues:
"""
d = na_round_trip(inp) # NOQA
- def test_issue_449(self):
+ def test_issue_449(self) -> None:
inp = """\
emoji_index: !!python/name:materialx.emoji.twemoji
"""
diff --git a/_test/test_tag.py b/_test/test_tag.py
index 40e3f69..6447779 100644
--- a/_test/test_tag.py
+++ b/_test/test_tag.py
@@ -65,7 +65,8 @@ class TestIndentFailures:
language: python
""")
- def test_spec_6_26_tag_shorthands(self):
+ @pytest.mark.xfail(strict=True) # type: ignore
+ def test_spec_6_26_tag_shorthands(self) -> None:
round_trip("""\
%TAG !e! tag:example.com,2000:app/
---
diff --git a/tox.ini b/tox.ini
index d581f3d..078a3dc 100755
--- a/tox.ini
+++ b/tox.ini
@@ -1,27 +1,29 @@
[tox]
# toxworkdir = /data1/DATA/tox/ruamel.yaml
-envlist = cs,py310,py39,py38,py37,py36,py35
+envlist = cs,py311,py310,py39,py38,py37,py312
[testenv]
+allowlist_externals = /bin/bash
install_command = pip install --disable-pip-version-check {opts} {packages}
commands =
/bin/bash -c 'pytest _test/test_*.py'
deps =
pytest
+ setuptools
[testenv:cs]
-basepython = python3.8
+basepython = python3.11
deps =
flake8
- flake8-bugbear;python_version>="3.8"
+ flake8-bugbear;python_version>="3.11"
commands =
flake8 []{posargs}
[testenv:pep8]
-basepython = python3.8
+basepython = python3.11
deps =
flake8
- flake8-bugbear;python_version>="3.8"
+ flake8-bugbear;python_version>="3.11"
commands =
flake8 []{posargs}
@@ -29,7 +31,7 @@ commands =
show-source = True
max-line-length = 95
ignore = W503,F405,E203
-exclude = _test/lib,.hg,.git,.tox,dist,.cache,__pycache__,ruamel.zip2tar.egg-info
+exclude = _test/lib,branch_default,.hg,.git,.tox,dist,.cache,__pycache__,ruamel.zip2tar.egg-info
[pytest]
filterwarnings =