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 https://bestpractices.coreinfrastructure.org/projects/1128/badge

ChangeLog

0.15.34 (2017-09-17):
  • fix for issue 157: CDumper not dumping floats (reported by Jan Smitka)

0.15.33 (2017-08-31):
  • support for “undefined” round-tripping tagged scalar objects (in addition to tagged mapping object). Inspired by a use case presented by Matthew Patton on StackOverflow.

  • fix issue 148: replace cryptic error message when using !!timestamp with an incorrectly formatted or non- scalar. Reported by FichteFoll.

0.15.32 (2017-08-21):
  • allow setting yaml.default_flow_style = None (default: False) for for typ='rt'.

  • fix for issue 149: multiplications on ScalarFloat now return float (reported by jan.brezina@tul.cz)

0.15.31 (2017-08-15):
  • fix Comment dumping

0.15.30 (2017-08-14):
  • fix for issue with “compact JSON” not parsing: {"in":{},"out":{}} (reported on StackOverflow by mjalkio

0.15.29 (2017-08-14):
  • fix issue #51: different indents for mappings and sequences (reported by Alex Harvey)

  • fix for flow sequence/mapping as element/value of block sequence with sequence-indent minus dash-offset not equal two.

0.15.28 (2017-08-13):
  • fix issue #61: merge of merge cannot be __repr__-ed (reported by Tal Liron)

0.15.27 (2017-08-13):
  • fix issue 62, YAML 1.2 allows ? and : in plain scalars if non-ambigious (reported by nowox)

  • fix lists within lists which would make comments disappear

0.15.26 (2017-08-10):
  • fix for disappearing comment after empty flow sequence (reported by oit-tzhimmash)

0.15.25 (2017-08-09):
  • fix for problem with dumping (unloaded) floats (reported by eyenseo)

0.15.24 (2017-08-09):
  • added ScalarFloat which supports roundtripping of 23.1, 23.100, 42.00E+56, 0.0, -0.0 etc. while keeping the format. Underscores in mantissas are not preserved/supported (yet, is anybody using that?).

  • (finally) fixed longstanding issue 23 (reported by Antony Sottile), now handling comment between block mapping key and value correctly

  • warn on YAML 1.1 float input that is incorrect (triggered by invalid YAML provided by Cecil Curry)

  • allow setting of boolean representation (false, true) by using: yaml.boolean_representation = [u'False', u'True']

0.15.23 (2017-08-01):
  • fix for round_tripping integers on 2.7.X > sys.maxint (reported by ccatterina)

0.15.22 (2017-07-28):
  • fix for round_tripping singe excl. mark tags doubling (reported and fix by Jan Brezina)

0.15.21 (2017-07-25):
0.15.20 (2017-07-23):
  • wheels for windows including C extensions

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

Uploaded Source

Built Distributions

ruamel.yaml-0.15.34-cp36-cp36m-win_amd64.whl (187.1 kB view details)

Uploaded CPython 3.6m Windows x86-64

ruamel.yaml-0.15.34-cp36-cp36m-win32.whl (172.8 kB view details)

Uploaded CPython 3.6m Windows x86

ruamel.yaml-0.15.34-cp36-cp36m-manylinux1_x86_64.whl (557.8 kB view details)

Uploaded CPython 3.6m

ruamel.yaml-0.15.34-cp35-cp35m-win_amd64.whl (187.1 kB view details)

Uploaded CPython 3.5m Windows x86-64

ruamel.yaml-0.15.34-cp35-cp35m-win32.whl (172.8 kB view details)

Uploaded CPython 3.5m Windows x86

ruamel.yaml-0.15.34-cp35-cp35m-manylinux1_x86_64.whl (557.6 kB view details)

Uploaded CPython 3.5m

ruamel.yaml-0.15.34-cp34-cp34m-win_amd64.whl (189.9 kB view details)

Uploaded CPython 3.4m Windows x86-64

ruamel.yaml-0.15.34-cp34-cp34m-win32.whl (179.0 kB view details)

Uploaded CPython 3.4m Windows x86

ruamel.yaml-0.15.34-cp34-cp34m-manylinux1_x86_64.whl (564.1 kB view details)

Uploaded CPython 3.4m

ruamel.yaml-0.15.34-cp33-cp33m-win_amd64.whl (189.7 kB view details)

Uploaded CPython 3.3m Windows x86-64

ruamel.yaml-0.15.34-cp33-cp33m-win32.whl (179.0 kB view details)

Uploaded CPython 3.3m Windows x86

ruamel.yaml-0.15.34-cp33-cp33m-manylinux1_x86_64.whl (538.3 kB view details)

Uploaded CPython 3.3m

ruamel.yaml-0.15.34-cp27-cp27mu-manylinux1_x86_64.whl (534.1 kB view details)

Uploaded CPython 2.7mu

ruamel.yaml-0.15.34-cp27-cp27m-win_amd64.whl (190.7 kB view details)

Uploaded CPython 2.7m Windows x86-64

ruamel.yaml-0.15.34-cp27-cp27m-win32.whl (179.0 kB view details)

Uploaded CPython 2.7m Windows x86

ruamel.yaml-0.15.34-cp27-cp27m-manylinux1_x86_64.whl (534.1 kB view details)

Uploaded CPython 2.7m

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.34.tar.gz
Algorithm Hash digest
SHA256 f1e29054c6e477963e302b007b6cd1d6c7a58c38d78fabe64fde9ce170d2d1fd
MD5 786c5985a1ac660b9a031e6822b5961c
BLAKE2b-256 23eb86f27d182d0aaa5dcad885bc35fad7a1c13f94b137e39c37a3d23b4c842b

See more details on using hashes here.

File details

Details for the file ruamel.yaml-0.15.34-cp36-cp36m-win_amd64.whl.

File metadata

File hashes

Hashes for ruamel.yaml-0.15.34-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 ddf0e1277664fafff0ae692e8ea2fca56f1ee4daf686d9be785ccdf3a9542744
MD5 634fe152b381ba586e3125c8e35dbbf7
BLAKE2b-256 6e8711c14c3f2f97f293c0e6dab1fb2e59f9b35d27ebe638fe3f627b52d26d7a

See more details on using hashes here.

File details

Details for the file ruamel.yaml-0.15.34-cp36-cp36m-win32.whl.

File metadata

File hashes

Hashes for ruamel.yaml-0.15.34-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 2de7bd2d5713c46be9d1d489b028178c9497813f78bd0486a31bbe1c268d7f21
MD5 39bad34cebeb049ccd3de28fb0fafdb8
BLAKE2b-256 1687b33d24516c7d381cac27097857cb94ce020bafa3ccbdd00f41b5d7a8075e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.34-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 2f28a3b6665697c20d841a4aee21cfb932bb0db91f293ff97daf845b914ddddb
MD5 567097db4592e9e5b0581c5a379715be
BLAKE2b-256 88544efcae595c6437a0e548ced166ea44a0d7aa200f903aaf7174d74952c5b3

See more details on using hashes here.

File details

Details for the file ruamel.yaml-0.15.34-cp35-cp35m-win_amd64.whl.

File metadata

File hashes

Hashes for ruamel.yaml-0.15.34-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 dfd14829070728159d0dac55a19e4c77514cb8ad3ae3fc2ed065d7f24038b60f
MD5 b1bb853cbac76d916656f32cc6353675
BLAKE2b-256 a8e4bd19aa3c8ef680749e6bc2995a21636763c34445b0cb8d1a212cc5ddc9ba

See more details on using hashes here.

File details

Details for the file ruamel.yaml-0.15.34-cp35-cp35m-win32.whl.

File metadata

File hashes

Hashes for ruamel.yaml-0.15.34-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 3e87114aac9553c39eea4b88e258eb7fdce39b81a2c399a775efe1f64e4f3d7b
MD5 e0a6d272581b2bb3d70a2d3ba29a5d76
BLAKE2b-256 54f425a35b7167207c2b0bea74dc5ed6e4e9a3b525074f373a9532e38f1fed35

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.34-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 d92d90c9bc0945223e47223a67808dd97ac9390ed914cc6871479b7ba489e607
MD5 5a1c0fb42bdbc1e1e73b4efe420f563b
BLAKE2b-256 5e388afd5b95cf67fd1ac0434faf932b3a0d7c4eae75e9302b57a987f9c4c98d

See more details on using hashes here.

File details

Details for the file ruamel.yaml-0.15.34-cp34-cp34m-win_amd64.whl.

File metadata

File hashes

Hashes for ruamel.yaml-0.15.34-cp34-cp34m-win_amd64.whl
Algorithm Hash digest
SHA256 530bec874292bacbbb80a9143e5182ce436c2a2434a2ea83dda24d30b8e572df
MD5 d5685efdbf232d5634d14a526d4d842f
BLAKE2b-256 a2af4238611b5324ef36ce2a10d8a0cb738c2614d452a897590fba37d257c214

See more details on using hashes here.

File details

Details for the file ruamel.yaml-0.15.34-cp34-cp34m-win32.whl.

File metadata

File hashes

Hashes for ruamel.yaml-0.15.34-cp34-cp34m-win32.whl
Algorithm Hash digest
SHA256 3127a87b274e516b3bf2058f64d784089322fddd7322f8e78e9f5380bdfee064
MD5 52f4dc46004daef8d1dc876489b5915a
BLAKE2b-256 033c1b8275c9a444fea72b432bfe4644e3f0f3ca4e0d99c02904dd18ea4cf137

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.34-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 10493c92c0e5bd57d576d73b708ed900532846ead1b381c5236c41d0c39f5f71
MD5 92241d5045eea0db1fb9f6b386dd9b46
BLAKE2b-256 ace4e164fb36f645de33bb4f7b43a66f4b71c47101c9a87b3f99427f7f802f4a

See more details on using hashes here.

File details

Details for the file ruamel.yaml-0.15.34-cp33-cp33m-win_amd64.whl.

File metadata

File hashes

Hashes for ruamel.yaml-0.15.34-cp33-cp33m-win_amd64.whl
Algorithm Hash digest
SHA256 e884979944642b4ad3222cb102a0d4c17fed2d37abfffdf0f319fae6e41d436a
MD5 e004ad337b7cd8c2e5177a8c90d679a3
BLAKE2b-256 d98612cc16367ce1ce586b84d7f09b5f43f1f52ce26a48afb4ace34f8526b71f

See more details on using hashes here.

File details

Details for the file ruamel.yaml-0.15.34-cp33-cp33m-win32.whl.

File metadata

File hashes

Hashes for ruamel.yaml-0.15.34-cp33-cp33m-win32.whl
Algorithm Hash digest
SHA256 c20e853cb585167fd5e4ce6e1b57fefe7bd4a61659f8fec5f77e12efa59a7a77
MD5 ec153a5455308914caa732d183abdf76
BLAKE2b-256 aef0684b01b3e129753b1d44823dfe9117faac32bce8d163df4401a7d4493e78

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.34-cp33-cp33m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 87bdfb04981f1040ec60b1d1bfa8e7e4d89f7d06c86d4b2fa935002c62e43380
MD5 2d2e5935afd28e3c2ef191641704c636
BLAKE2b-256 2ba1ca27bfa7734224df56c22001e8c1eb536e36e18c233ffc0c8b195d12eba7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.34-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 6432088ef1c3cdc4b304dcec6044e560160c1f51dd0360ae3f0887057d310056
MD5 794e81a3ac4571c808bbeb2ae728b391
BLAKE2b-256 4e4b82cfb5743fa5780158ee8b06620303c3c9bd66945ca8c9d5f907d90fb72e

See more details on using hashes here.

File details

Details for the file ruamel.yaml-0.15.34-cp27-cp27m-win_amd64.whl.

File metadata

File hashes

Hashes for ruamel.yaml-0.15.34-cp27-cp27m-win_amd64.whl
Algorithm Hash digest
SHA256 c8da0ea47df5f2dee58f6f904335ac55098b7e72303b01414ce80f37dd3091df
MD5 aa20f7239a0a7bf2069c061b15830f8a
BLAKE2b-256 a93aac0ea44b68cb0c2ddf9663fd6989feaa8341555a0a0aca3e8110ace14bea

See more details on using hashes here.

File details

Details for the file ruamel.yaml-0.15.34-cp27-cp27m-win32.whl.

File metadata

File hashes

Hashes for ruamel.yaml-0.15.34-cp27-cp27m-win32.whl
Algorithm Hash digest
SHA256 64868964b64cad9103f37d0b4fc0ec950e5b683bbc47bf4a1ea893fd70aaabf0
MD5 377713039e6a29012c1fef6d1670eb18
BLAKE2b-256 d14a00edb83096c8ae94bb5506447821e2eea55301f3bcfff8f610a5ba5b5406

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.34-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 4bdec0b1a4a12e4a35b788ef53e0b2efd1e9f815ca48615b5244ccdbc8f0b56b
MD5 85b33c5d22fd17c6cb1414a57e1af283
BLAKE2b-256 e8f9832884717de36ef5d95d0f6b4585a569baf65ae8f23d04b652d7c25f1bf4

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