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.35 (2017-12-03):
  • allow None as stream when specifying transform parameters to YAML.dump(). This is useful if the transforming function doesn’t return a meaningful value (inspired by StackOverflow by rsaw).

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.35.tar.gz (261.0 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.35-cp36-cp36m-win_amd64.whl (187.3 kB view details)

Uploaded CPython 3.6mWindows x86-64

ruamel.yaml-0.15.35-cp36-cp36m-win32.whl (173.1 kB view details)

Uploaded CPython 3.6mWindows x86

ruamel.yaml-0.15.35-cp36-cp36m-manylinux1_x86_64.whl (558.0 kB view details)

Uploaded CPython 3.6m

ruamel.yaml-0.15.35-cp35-cp35m-win_amd64.whl (187.3 kB view details)

Uploaded CPython 3.5mWindows x86-64

ruamel.yaml-0.15.35-cp35-cp35m-win32.whl (173.1 kB view details)

Uploaded CPython 3.5mWindows x86

ruamel.yaml-0.15.35-cp35-cp35m-manylinux1_x86_64.whl (557.9 kB view details)

Uploaded CPython 3.5m

ruamel.yaml-0.15.35-cp34-cp34m-win_amd64.whl (190.2 kB view details)

Uploaded CPython 3.4mWindows x86-64

ruamel.yaml-0.15.35-cp34-cp34m-win32.whl (179.3 kB view details)

Uploaded CPython 3.4mWindows x86

ruamel.yaml-0.15.35-cp34-cp34m-manylinux1_x86_64.whl (564.4 kB view details)

Uploaded CPython 3.4m

ruamel.yaml-0.15.35-cp33-cp33m-win_amd64.whl (190.0 kB view details)

Uploaded CPython 3.3mWindows x86-64

ruamel.yaml-0.15.35-cp33-cp33m-win32.whl (179.3 kB view details)

Uploaded CPython 3.3mWindows x86

ruamel.yaml-0.15.35-cp33-cp33m-manylinux1_x86_64.whl (538.5 kB view details)

Uploaded CPython 3.3m

ruamel.yaml-0.15.35-cp27-cp27mu-manylinux1_x86_64.whl (534.4 kB view details)

Uploaded CPython 2.7mu

ruamel.yaml-0.15.35-cp27-cp27m-win_amd64.whl (191.0 kB view details)

Uploaded CPython 2.7mWindows x86-64

ruamel.yaml-0.15.35-cp27-cp27m-win32.whl (179.2 kB view details)

Uploaded CPython 2.7mWindows x86

ruamel.yaml-0.15.35-cp27-cp27m-manylinux1_x86_64.whl (534.4 kB view details)

Uploaded CPython 2.7m

File details

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

File metadata

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

File hashes

Hashes for ruamel.yaml-0.15.35.tar.gz
Algorithm Hash digest
SHA256 8dc74821e4bb6b21fb1ab35964e159391d99ee44981d07d57bf96e2395f3ef75
MD5 13b93b987fe1881b66c7cbccdf58c731
BLAKE2b-256 8f3977c555d68d317457a10a30f4a92ae4a315a4ee0e05e9af7c0ac5c301df10

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.35-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 f2d02a4af5a13b09d0b823cdd0317b54f3e0115e50b5ac4d9840c3a1b566817f
MD5 601999cc310fb0929b548215da07013d
BLAKE2b-256 f029aba4872111cd7fd7b286cfe293a34e5238f871a384fc92f421b30f7a59a3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.35-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 6d7929b24e329d662fa43b657fddfee5260e2d35d0a543065cd755d4e17a9b2f
MD5 803fdea69f102f2a19f108eee826a809
BLAKE2b-256 7ebb0df2aeab6d3da8d42c00b0c2a51845648f0e91b32d93a8ba0ebfb23ec9fb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.35-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 e2d2715bf92156bec5fb42e92e95dac1c4d9904f8a3d4e2d0c438758fe9092d7
MD5 2a1e7e4aa708a0fd8d25d691314e9e4a
BLAKE2b-256 3f856d76087c076feb118e9f752d19c49fefd68e7a40b9fef139d255df890783

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.35-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 5504398fc755a2b14c9983b2101161a8591a4b30812590cc1c365e7fcc117dfa
MD5 7d8d56af92ec44aa0b860016821138db
BLAKE2b-256 3b24f198492ca4fdeb4088dc539e0f63fbe3a7190d827220ea0eb28d4015589e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.35-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 072f6364a89972e8dc0afdce3335a709d5464dfeaa4f736d092a54574338b874
MD5 ad265540bfd8cc60a63b1a59fd052b0e
BLAKE2b-256 000f5d6e8a0f75940df49f1d826ea3895e25d5facb161a5961a14b1d52aa75c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.35-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 68c8f2986bcb91b6db1aea8698941769840c7257e951a9377048f7eff35be773
MD5 e8db086cbc87b7e5d69bf5588dedaea2
BLAKE2b-256 ec5f4460c67e75e33f44534f3810fba3c359e503813c39965d76b4983fac5faa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.35-cp34-cp34m-win_amd64.whl
Algorithm Hash digest
SHA256 e3bbfe0d294e08fdbb0cb05485435a2ceb4e168e98b5dc611f051c1864986b4b
MD5 27c18468b73becf08ec4739c9983a662
BLAKE2b-256 b3fdf9313cc8eebe978f8a3b6770dd85ac9df1028fba9195b4f379874232d67d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.35-cp34-cp34m-win32.whl
Algorithm Hash digest
SHA256 6d05c5a5baf829c70916c226ef3200650846a7227de226bca8a59efaf88bb973
MD5 f545731640a0caa996fc76f9d1622a1e
BLAKE2b-256 dc2d5d8bd457143708f0fd9ef1bd69e5beb6bda1a07c07c136ea3c9455569ac7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.35-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 c41e04b526d0153c9246cfab87d7ddefdc9f165cb8886a8ec48ba7a2b73069f6
MD5 194dd7948cd8a0e58dc1807d1632d1ae
BLAKE2b-256 5a5713bc47586842d1f2c15bea592ec2ce35465489a14e8d992cf010c565a6f2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.35-cp33-cp33m-win_amd64.whl
Algorithm Hash digest
SHA256 9225c83952d28f302cfc23c3d9a6f8231bfd581476d7aff1e3c7de49eecb4ee9
MD5 8af43266e12f1500581e39431ec70152
BLAKE2b-256 1cc3530828bd4d47bf79bf4c2cc7a04e39173bde32e26c269b1dfa59d57c32c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.35-cp33-cp33m-win32.whl
Algorithm Hash digest
SHA256 b6c5d5f03ba78e3f27c7188a00c4e09b6a4507fe3154ba40a294e09cb30ee016
MD5 f6b6b41a8328dc80c56611a3a58e94d9
BLAKE2b-256 cc7ca6f49a513d887f30c90bbb97f15981bb256cd152d36323bfe7a8f10bb36f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.35-cp33-cp33m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 01e30ecb1b1c0ebf9fce814dc20dace402571517277799291202b61b22096c24
MD5 83045d75bbf2648dc80944df112b2536
BLAKE2b-256 ce16738d0af5b5e11b9843decd0d3154b35db27db1fe7b4528f843a9d697ed5f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.35-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 fcfc24a21594c071cc4588e84b7657a1f47ebcf6037c6c43fa15c4bbd3989ec2
MD5 6a8f75412b0161c298db3c033d5b9ba4
BLAKE2b-256 24d1556b1aadb4e9f3c9c062b4444f1c06a3733351dc7c9e96868bca7138adb7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.35-cp27-cp27m-win_amd64.whl
Algorithm Hash digest
SHA256 c0908896e34b617ead40552cab03c1769bdc43d1da02419160dc900c5dfddde2
MD5 62bd726c7095616c7117a35543fc50c4
BLAKE2b-256 3292beb77a1b08cd7063031f2818b10871d18e5105a7421f70207e7cbf9602a9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.35-cp27-cp27m-win32.whl
Algorithm Hash digest
SHA256 02babffd019911841ba01b76e23dfec7c9e9b2725503fb2698c4982fa1a6e835
MD5 9269447f9f42be90007d3472daf67298
BLAKE2b-256 6ba2930174ad36757d081acbf9fb164579bc666c9d6726174c3871f271b6193a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.35-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 14d161558e3bf89e87d77c218098be22fa9a0d6d0bea40250fce525b1d0cbee2
MD5 2f0c1d1f98ec22ece1d7efa2e3e92dd8
BLAKE2b-256 9f780caf98a0c05b10570793d014962f3fa1e44e1ba0ea1b3e673f79bd835ee4

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