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.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 no 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.10.tar.gz (249.5 kB view details)

Uploaded Source

Built Distributions

ruamel.yaml-0.15.10-cp36-cp36m-manylinux1_x86_64.whl (548.9 kB view details)

Uploaded CPython 3.6m

ruamel.yaml-0.15.10-cp35-cp35m-manylinux1_x86_64.whl (548.7 kB view details)

Uploaded CPython 3.5m

ruamel.yaml-0.15.10-cp34-cp34m-manylinux1_x86_64.whl (555.3 kB view details)

Uploaded CPython 3.4m

ruamel.yaml-0.15.10-cp33-cp33m-manylinux1_x86_64.whl (529.5 kB view details)

Uploaded CPython 3.3m

ruamel.yaml-0.15.10-cp27-cp27mu-manylinux1_x86_64.whl (525.3 kB view details)

Uploaded CPython 2.7mu

ruamel.yaml-0.15.10-cp27-cp27m-manylinux1_x86_64.whl (525.3 kB view details)

Uploaded CPython 2.7m

File details

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

File metadata

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

File hashes

Hashes for ruamel.yaml-0.15.10.tar.gz
Algorithm Hash digest
SHA256 b8fa227cd8b4f3b3d464cd50627985d51bccfe324f9068b08d05b7f6307e8d38
MD5 f17ec5d70b8aecbfbcfafb082f1ca999
BLAKE2b-256 5960e15366014c4efc5f537491e3c971dcc3c42361cb552b7a6889f98f4c78ab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.10-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 e7c6b5709e46ed15cdd3b34acce513c3863dedc234afa1a6353107e49f917c4e
MD5 471b88f5087c855865d9abc05918d7cd
BLAKE2b-256 f3dc11a68781b5c14ead848d820d22d27c5aac908058561f4a5de61bb3027960

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.10-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 124ad2eed630ff3a01afe03abde45dbe88342b3c6ef634f7d94ebc2cd5690db9
MD5 7e46e8af63f5e3670e8bb86747399aff
BLAKE2b-256 d4e7e02a92d050b1440d98e72a6592b9665dec9711571b38b8fabf486f8e7912

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.10-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 05a9e7929d8d7902604c71b9e966a2c6403cbafd94cf61d22baf825376607970
MD5 ea84033bda9564a15351ae0f85a9bce3
BLAKE2b-256 094f5130c795c11df2ad69ea8d3b7f48e908167f8b975e30579813b8352c6497

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.10-cp33-cp33m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 3be9e2d744ab1b51625cc59a0c522626a5d4604d6d5f15d2406593e12d7ee220
MD5 4887b55e499576b0cbcfb002851e6a65
BLAKE2b-256 3523d98a6430c213b53cb4990965ae2827eebdfd5f4e66560f1c264068c849e0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.10-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 fd25df730fa69dd57047940f1ac95bf3e93051eb366a29f6b361708f0cf73913
MD5 1b0cd0aed4b872e013ba72f064d2ee06
BLAKE2b-256 d5766d1e75591f8143a01cedb3ca8d5eb395112adc027cd913dd9d556ad853ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.10-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 480584c46899c4841733e923e939c798d8fff7edd2a5a294cb52aa9581005157
MD5 9a857a00582de2a7c75fe86acd46f16b
BLAKE2b-256 97be6ef57aa8574fc0b7bd9a0b4ed64199068af5556ac6797ce80d7f9fbcf429

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