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.

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 infomormation on how you use the package (or a link to bitbucket/github) 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

ChangeLog

0.15.19 (2017-07-13):
  • added object constructor for rt, decorator yaml_object to replace YAMLObject.

  • fix for problem using load_all with Path() instance

  • fix for load_all in combination with zero indent block style literal (pure=True only!)

0.15.18 (2017-07-04):
  • missing pure attribute on YAML useful for implementing !include tag constructor for including YAML files in a YAML file

  • some documentation improvements

  • trigger of doc build on new revision

0.15.17 (2017-07-03):
  • support for Unicode supplementary Plane output (input was already supported, triggered by this Stack Overflow Q&A)

0.15.16 (2017-07-01):
  • minor typing issues (reported and fix provided by Manvendra Singh

  • small doc improvements

0.15.15 (2017-06-27):
0.15.14 (2017-06-25):
  • fix for issue 133, in setup.py: change ModuleNotFoundError to ImportError (reported and fix by Asley Drake)

0.15.13 (2017-06-24):
  • suppress duplicate key warning on mappings with merge keys (reported by Cameron Sweeney)

0.15.12 (2017-06-24):
  • remove fatal dependency of setup.py on wheel package (reported by Cameron Sweeney)

0.15.11 (2017-06-24):
  • fix for issue 130, regression in nested merge keys (reported by David Fee)

0.15.10 (2017-06-23):
  • top level PreservedScalarString not indented if not explicitly asked to

  • remove Makefile (not very useful anyway)

  • some mypy additions

0.15.9 (2017-06-16):
  • fix for issue 127: tagged scalars were always quoted and seperated by a newline when in a block sequence (reported and largely fixed by Tommy Wang)

0.15.8 (2017-06-15):
  • allow plug-in install via install ruamel.yaml[jinja2]

0.15.7 (2017-06-14):
  • add plug-in mechanism for load/dump pre resp. post-processing

0.15.6 (2017-06-10):
  • a set() with duplicate elements now throws error in rt loading

  • support for toplevel column zero literal/folded scalar in explicit documents

0.15.5 (2017-06-08):
  • repeat load() on a single YAML() instance would fail.

0.15.4 (2017-06-08):
  • transform parameter on dump that expects a function taking a string and returning a string. This allows transformation of the output before it is written to stream. This forces creation of the complete output in memory!

  • some updates to the docs

0.15.3 (2017-06-07):
  • No longer try to compile C extensions on Windows. Compilation can be forced by setting the environment variable RUAMEL_FORCE_EXT_BUILD to some value before starting the pip install.

0.15.2 (2017-06-07):
  • update to conform to mypy 0.511: mypy –strict

0.15.1 (2017-06-07):
  • duplicate keys in mappings generate an error (in the old API this change generates a warning until 0.16)

  • dependecy on ruamel.ordereddict for 2.7 now via extras_require

0.15.0 (2017-06-04):
  • it is now allowed to pass in a pathlib.Path as “stream” parameter to all load/dump functions

  • passing in a non-supported object (e.g. a string) as “stream” will result in a much more meaningful YAMLStreamError.

  • assigning a normal string value to an existing CommentedMap key or CommentedSeq element will result in a value cast to the previous value’s type if possible.

  • added YAML class for new API

0.14.12 (2017-05-14):
  • fix for issue 119, deepcopy not returning subclasses (reported and PR by Constantine Evans <cevans@evanslabs.org>)

0.14.11 (2017-05-01):
  • fix for issue 103 allowing implicit documents after document end marker line (...) in YAML 1.2

0.14.10 (2017-04-26):
  • fix problem with emitting using cyaml

0.14.9 (2017-04-22):
0.14.8 (2017-04-19):
  • fix Text not available on 3.5.0 and 3.5.1, now proactively setting version guards on all files (reported by João Paulo Magalhães)

0.14.7 (2017-04-18):
  • round trip of integers (decimal, octal, hex, binary) now preserve leading zero(s) padding and underscores. Underscores are presumed to be at regular distances (i.e. 0o12_345_67 dumps back as 0o1_23_45_67 as the space from the last digit to the underscore before that is the determining factor).

0.14.6 (2017-04-14):
  • binary, octal and hex integers are now preserved by default. This was a known deficiency. Working on this was prompted by the issue report (112) from devnoname120, as well as the additional experience with .replace() on scalarstring classes.

  • fix issues 114: cannot install on Buildozer (reported by mixmastamyk). Setting env. var RUAMEL_NO_PIP_INSTALL_CHECK will suppress pip-check.

0.14.5 (2017-04-04):
  • fix issue 109: None not dumping correctly at top level (reported by Andrea Censi)

  • fix issue 110: .replace on Preserved/DoubleQuoted/SingleQuoted ScalarString would give back “normal” string (reported by sandres23)

0.14.4 (2017-03-31):
  • fix readme

0.14.3 (2017-03-31):
0.14.2 (2017-03-23):
  • fix for old default pip on Ubuntu 14.04 (reported by Sébastien Maccagnoni-Munch)

0.14.1 (2017-03-22):
  • fix Text not available on 3.5.0 and 3.5.1 (reported by Charles Bouchard-Légaré)

0.14.0 (2017-03-21):
  • updates for mypy –strict

  • preparation for moving away from inheritance in Loader and Dumper, calls from e.g. the Representer to the Serializer.serialize() are now done via the attribute .serializer.serialize(). Usage of .serialize() outside of Serializer will be deprecated soon

  • some extra tests on main.py functions


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.15.19.tar.gz (252.5 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

ruamel.yaml-0.15.19-cp36-cp36m-manylinux1_x86_64.whl (550.8 kB view details)

Uploaded CPython 3.6m

ruamel.yaml-0.15.19-cp35-cp35m-manylinux1_x86_64.whl (550.6 kB view details)

Uploaded CPython 3.5m

ruamel.yaml-0.15.19-cp34-cp34m-manylinux1_x86_64.whl (557.1 kB view details)

Uploaded CPython 3.4m

ruamel.yaml-0.15.19-cp33-cp33m-manylinux1_x86_64.whl (531.3 kB view details)

Uploaded CPython 3.3m

ruamel.yaml-0.15.19-cp27-cp27mu-manylinux1_x86_64.whl (527.1 kB view details)

Uploaded CPython 2.7mu

ruamel.yaml-0.15.19-cp27-cp27m-manylinux1_x86_64.whl (527.1 kB view details)

Uploaded CPython 2.7m

File details

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

File metadata

  • Download URL: ruamel.yaml-0.15.19.tar.gz
  • Upload date:
  • Size: 252.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for ruamel.yaml-0.15.19.tar.gz
Algorithm Hash digest
SHA256 fbdd9df83a10ddf529906f2bac2ebad397176010ff448fa5dea121be553aa763
MD5 bed7ef33a41365103bf08289f2570bf5
BLAKE2b-256 076a758fa92509be71250de604b5ac0c20e4b66eaa07949dfc036ab14b828358

See more details on using hashes here.

File details

Details for the file ruamel.yaml-0.15.19-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for ruamel.yaml-0.15.19-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 0634bacd1767eff2c81474dc625dcb205c7e60f23765aad841c967fb93552793
MD5 61897e0f3826338c2fc7647b141d7e6e
BLAKE2b-256 dd694c514f29c0ab56d683e1a285fb80ce894f2dcae0a73412e57ef6282b03c9

See more details on using hashes here.

File details

Details for the file ruamel.yaml-0.15.19-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for ruamel.yaml-0.15.19-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 ee20b1c413a0ad011527c5e6769243eb7781001e425e53247581de7d8ee0ac89
MD5 d07c11c1183be95b82569eec2dedcee3
BLAKE2b-256 80a5da6193c088cc4ce469a2ca8c4956f24c5c41438e60ea145f2bfb5ddd4f99

See more details on using hashes here.

File details

Details for the file ruamel.yaml-0.15.19-cp34-cp34m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for ruamel.yaml-0.15.19-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 149a39cacd2ec4f130b02700e3fca183deaf2d189a6e27cc336fad1c2063c9b5
MD5 77dd53c5536892331f79605b6afc65dc
BLAKE2b-256 e1ae325928a35649ec391d7f17e6661481f9a2704b3c5d2605319b91d7d9b975

See more details on using hashes here.

File details

Details for the file ruamel.yaml-0.15.19-cp33-cp33m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for ruamel.yaml-0.15.19-cp33-cp33m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 84002217a8aa23926fe563e3e89bde6fe55eedc114168fb9ff3788f1bc3c379d
MD5 3a5007caf72be69497dfa4f268c7a1f6
BLAKE2b-256 aa5627410c13a0f5793e6515b97c3c3585db18e0c240dd6d5a5b320a25b9500e

See more details on using hashes here.

File details

Details for the file ruamel.yaml-0.15.19-cp27-cp27mu-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for ruamel.yaml-0.15.19-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 5656031a905ec427ea93adfd4631f71864589a1411682c277f0b338baf5313b9
MD5 59d40a971651d915c1d97d8f356e2aaa
BLAKE2b-256 cdf43512f36baa1b00dcd32336a4b0a1494f457dc5bc44643ce159aea122b881

See more details on using hashes here.

File details

Details for the file ruamel.yaml-0.15.19-cp27-cp27m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for ruamel.yaml-0.15.19-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 481796a7ad34b207a0ce91a44987d264f5de775c3e77dc7d3767c613ae482f4d
MD5 0223e3e3c44b59623402bace9349721d
BLAKE2b-256 56d09bedbab258428ee410ba0564e60561d707b4fc423e1f89b75463894ce8e1

See more details on using hashes here.

Supported by

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