Skip to main content

ruamel.yaml is a YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order

Project description

ruamel.yaml

ruamel.yaml is a YAML 1.2 loader/dumper package for Python.

version:

0.17.9

updated:

2021-06-10

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 is changing. See the API doc for details. Currently existing functionality will throw a warning before being changed/removed. For production systems you should pin the version being used with ``ruamel.yaml<=0.15``. There might be bug fixes in the 0.14 series, but new functionality is likely only to be available via the new API.

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.

https://readthedocs.org/projects/yaml/badge/?version=stable https://bestpractices.coreinfrastructure.org/projects/1128/badge https://sourceforge.net/p/ruamel-yaml/code/ci/default/tree/_doc/_static/license.svg?format=raw https://sourceforge.net/p/ruamel-yaml/code/ci/default/tree/_doc/_static/pypi.svg?format=raw https://sourceforge.net/p/oitnb/code/ci/default/tree/_doc/_static/oitnb.svg?format=raw http://www.mypy-lang.org/static/mypy_badge.svg

ChangeLog

0.17.9 (2021-06-10):
  • fix issue with updating CommentedMap (reported by sri on StackOverlow)

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)

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

  • fix for issue 385: deprecated round_trip_loader function not working (reported by Mike 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)

0.17.4 (2021-04-07):
  • prevent (empty) comments from throwing assertion error (issue 351 reported by William Kimball) 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)

  • allow expansion of aliases by setting yaml.composer.return_alias = lambda s: copy.deepcopy(s)

    (as per Stackoverflow answer)

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)

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 resp. issue 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)

0.16.13 (2021-03-05):
  • fix for issue 359: could not update() CommentedMap with keyword arguments (reported by Steve Franchak)

  • 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)

  • a None value in a flow-style sequence is now dumped as null instead of !!null ‘’ (reported by mcarans on StackOverlow)

0.16.12 (2020-09-04):
  • update links in doc

0.16.11 (2020-09-03):
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)

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)

  • adjust deprecation warning test for Hashable, as that no longer warns (reported by Jason Montleon)

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)

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)

0.16.1 (2019-08-08):
  • Force the use of new version of ruamel.yaml.clib (reported by Alex Joz)

  • Allow ‘#’ in tag URI as these are allowed in YAML 1.2 (reported by Thomas Smith)

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

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ruamel.yaml-0.17.9.tar.gz (126.5 kB view details)

Uploaded Source

Built Distribution

ruamel.yaml-0.17.9-py3-none-any.whl (108.3 kB view details)

Uploaded Python 3

File details

Details for the file ruamel.yaml-0.17.9.tar.gz.

File metadata

  • Download URL: ruamel.yaml-0.17.9.tar.gz
  • Upload date:
  • Size: 126.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.3.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.4

File hashes

Hashes for ruamel.yaml-0.17.9.tar.gz
Algorithm Hash digest
SHA256 374373b4743aee9f6d9f40bea600fe020a7ac7ae36b838b4a6a93f72b584a14c
MD5 d6cd0bcabdabfbdb0f639374e6e239e3
BLAKE2b-256 ea7f4bcd7276603b4324ac12839a949b3e58f03cda1d87218c89a8a1efe31c1a

See more details on using hashes here.

File details

Details for the file ruamel.yaml-0.17.9-py3-none-any.whl.

File metadata

  • Download URL: ruamel.yaml-0.17.9-py3-none-any.whl
  • Upload date:
  • Size: 108.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.3.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.9.4

File hashes

Hashes for ruamel.yaml-0.17.9-py3-none-any.whl
Algorithm Hash digest
SHA256 8873a6f5516e0d848c92418b0b006519c0566b6cd0dcee7deb9bf399e2bd204f
MD5 fb47d6205292629b7af6f33ea4c84410
BLAKE2b-256 74c60aa1aaaa56c9d320f19d9ca3f8304bc6ace8fab95932b1602cbe091ae4a3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page