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

Uploaded Source

Built Distributions

ruamel.yaml-0.15.21-cp36-cp36m-win_amd64.whl (180.3 kB view details)

Uploaded CPython 3.6mWindows x86-64

ruamel.yaml-0.15.21-cp36-cp36m-win32.whl (166.1 kB view details)

Uploaded CPython 3.6mWindows x86

ruamel.yaml-0.15.21-cp36-cp36m-manylinux1_x86_64.whl (551.1 kB view details)

Uploaded CPython 3.6m

ruamel.yaml-0.15.21-cp35-cp35m-win_amd64.whl (180.3 kB view details)

Uploaded CPython 3.5mWindows x86-64

ruamel.yaml-0.15.21-cp35-cp35m-win32.whl (166.1 kB view details)

Uploaded CPython 3.5mWindows x86

ruamel.yaml-0.15.21-cp35-cp35m-manylinux1_x86_64.whl (550.9 kB view details)

Uploaded CPython 3.5m

ruamel.yaml-0.15.21-cp34-cp34m-win_amd64.whl (183.2 kB view details)

Uploaded CPython 3.4mWindows x86-64

ruamel.yaml-0.15.21-cp34-cp34m-win32.whl (172.3 kB view details)

Uploaded CPython 3.4mWindows x86

ruamel.yaml-0.15.21-cp34-cp34m-manylinux1_x86_64.whl (557.4 kB view details)

Uploaded CPython 3.4m

ruamel.yaml-0.15.21-cp33-cp33m-win_amd64.whl (183.0 kB view details)

Uploaded CPython 3.3mWindows x86-64

ruamel.yaml-0.15.21-cp33-cp33m-win32.whl (172.2 kB view details)

Uploaded CPython 3.3mWindows x86

ruamel.yaml-0.15.21-cp33-cp33m-manylinux1_x86_64.whl (531.6 kB view details)

Uploaded CPython 3.3m

ruamel.yaml-0.15.21-cp27-cp27mu-manylinux1_x86_64.whl (527.4 kB view details)

Uploaded CPython 2.7mu

ruamel.yaml-0.15.21-cp27-cp27m-win_amd64.whl (183.9 kB view details)

Uploaded CPython 2.7mWindows x86-64

ruamel.yaml-0.15.21-cp27-cp27m-win32.whl (172.2 kB view details)

Uploaded CPython 2.7mWindows x86

ruamel.yaml-0.15.21-cp27-cp27m-manylinux1_x86_64.whl (527.4 kB view details)

Uploaded CPython 2.7m

File details

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

File metadata

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

File hashes

Hashes for ruamel.yaml-0.15.21.tar.gz
Algorithm Hash digest
SHA256 31e3fa77e3aa98e1e0ab660b6d9b2b7dab5ffbfee8de1b863294a9a97d68f6c9
MD5 06b2dee49c14fa3a7bf01d576babd5f6
BLAKE2b-256 78c7413f5c3a4efd0aeb14d37dc03427574571db5060058e32963dc2d7d21ff0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.21-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 89746ff1533d54cc64d5abaf8c9ca3746390da2489e8a3e8185773664409f775
MD5 7f03d7a7f6777c8355854266c27b12de
BLAKE2b-256 5b3bf91b1fb21158b29910e19c2e0a12cb3ae0f9286deb9220987b8b1de5fdf9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.21-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 ae31a69c9f14aaa3db04f250a261283c64026060e4c3c6c86a529ea0cbe07bb9
MD5 eb8258010156ae8275b1c10c28addda0
BLAKE2b-256 debfc1892d67291542bcd140feda534185d499158331ab2416ce2e755ec1a9fb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.21-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 dc19a6653d98ab4e55e8b6bb5e7c6d789e3753c393ba49393f913dec5e6b3220
MD5 cf22feba26fdc14f98e0e9f8d90a9ecd
BLAKE2b-256 aab2cc95e628cdc9c14680adc766339c9e73689f1caf65e4eeee6aac6b71de67

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.21-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 a3b99fc2b4f8db705cb6a5acf707b5dcddd20cef0810a35494a50d4b2404e483
MD5 7028bc049c200ad6f3d98e4e8c58a3a8
BLAKE2b-256 a8201830bcd3c9c90a17ae1133f97b868d68931389a3c17b568f3f2a7702413d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.21-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 a852ae5420ee0bf7d27bb0203acec25bae5c6a244422159b3e2044533b3c02dd
MD5 0b263f7aae144c2e7c68aa9d3c0d2dc7
BLAKE2b-256 93e5a8c35416fc48fb18aff442a8892349b48fa42cc1073f2106fc0a29240660

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.21-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 9116a92be9a62dc9f16799996360d736cbc95eae9b9109ab0d019e527b74bf9e
MD5 7d6fc2b074428f61d48bd1dda68b32e1
BLAKE2b-256 dfb3d341c18154aea7904f63ca7272464f7df9b5072dc1d1b11d21a14f3994e6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.21-cp34-cp34m-win_amd64.whl
Algorithm Hash digest
SHA256 0711baf1daa579344b0d69238f2c4bd392880e8f29835f14268439e5e0a6ff32
MD5 067ee503f6bb36f7339cb5ea6829454c
BLAKE2b-256 22896cb6cde7cac3ba040815e7282c18eccc3a4c5093f969085819d58a7f7d99

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.21-cp34-cp34m-win32.whl
Algorithm Hash digest
SHA256 5d0cfaa7e4e488b7ee290eaeecea6e339a1ffdea6d76af631e2a2a49ff450192
MD5 2eec27d09ca9d533d849fbf0aeb85ff3
BLAKE2b-256 9d48d4f99bb8885723da2e6c203c9436cb4a58dae6b2981680d02ebdf73000b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.21-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 56c438ed0ac12b9f0faa7c65e6522e56161ca886d079384f701397453a2d8c38
MD5 215824fb7b87ae8e1ba56abd2434ad06
BLAKE2b-256 7ddea2333aaa1435dfb6bceb9fdc87596bf6816b616ff456b79346f313a093f2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.21-cp33-cp33m-win_amd64.whl
Algorithm Hash digest
SHA256 536f4d9ac551ddb960d329da9dba705b9020c1ec616d832c48003a27df3ce9ac
MD5 e429cffe2f4a4b5f264aec7fd2d602b3
BLAKE2b-256 2e00e0f43cb1449fb1182d5e66c65d5b102b72d2f28c460662e061fa87429091

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.21-cp33-cp33m-win32.whl
Algorithm Hash digest
SHA256 65b719be6e291d84019635158af470880f5e9f2763e7a1f61c7225be685f1f9c
MD5 9c7d20e018d33166726acc254267203c
BLAKE2b-256 4b750ed899212c7db3c40fec91ed9a481b35415a7f08915b2ceae29f25af2ee5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.21-cp33-cp33m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 bc249ca4a913723dc24779320e9ba2644cff7b82eebecc998962ddc7982e4a46
MD5 6a8b8b6f7e874995696df371f055eceb
BLAKE2b-256 65806ada97a1c6d291489bc61cea2014c28ff1a24c4b7c0c90a3bd829f424702

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.21-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 c73d6d8a54c7308c5770d46819412337b3703267f16eaceb3838916ee6f7fc93
MD5 d25f94888e15acd99e8218781a65c90b
BLAKE2b-256 21c7dd1c93e2e9d5b6801602741ae231885e96102d7c3552f0d9a89a2a5abc2d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.21-cp27-cp27m-win_amd64.whl
Algorithm Hash digest
SHA256 57b946621e15d654909795304ff31856cdf5ab2ee28817b4ca0b855cddbb9bbe
MD5 3cb1f6f4d4043d2b01d2bfb3468525dc
BLAKE2b-256 47c11b25699153c9f485cf083d05183710a7330ea46ab8ca25d6396fc65e26c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.21-cp27-cp27m-win32.whl
Algorithm Hash digest
SHA256 a8e4ce21b114dd08ee806a72dd846c031a30134a6629543060c8ca988fc67f86
MD5 a0a909e9e485954862adaad492f14558
BLAKE2b-256 cd6b40ef1763f2f15d0093175f9d2c348ce022f5d6f80dc7bcef7caaec75aff2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.21-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 342f60eba710e0b82507e499fa19bbe730db98843d71f6ed67c1e89b0dfadfad
MD5 80b20ff310cf9c8229744f80c51554e4
BLAKE2b-256 7f8cbc83a522059e31d5901cb3d9d0f0d1b78dfd88519b3cc2462d3f26ce63ba

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