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.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.27.tar.gz (257.8 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.27-cp36-cp36m-win_amd64.whl (184.9 kB view details)

Uploaded CPython 3.6mWindows x86-64

ruamel.yaml-0.15.27-cp36-cp36m-win32.whl (170.6 kB view details)

Uploaded CPython 3.6mWindows x86

ruamel.yaml-0.15.27-cp36-cp36m-manylinux1_x86_64.whl (555.6 kB view details)

Uploaded CPython 3.6m

ruamel.yaml-0.15.27-cp35-cp35m-win_amd64.whl (184.9 kB view details)

Uploaded CPython 3.5mWindows x86-64

ruamel.yaml-0.15.27-cp35-cp35m-win32.whl (170.6 kB view details)

Uploaded CPython 3.5mWindows x86

ruamel.yaml-0.15.27-cp35-cp35m-manylinux1_x86_64.whl (555.5 kB view details)

Uploaded CPython 3.5m

ruamel.yaml-0.15.27-cp34-cp34m-win_amd64.whl (187.7 kB view details)

Uploaded CPython 3.4mWindows x86-64

ruamel.yaml-0.15.27-cp34-cp34m-win32.whl (176.8 kB view details)

Uploaded CPython 3.4mWindows x86

ruamel.yaml-0.15.27-cp34-cp34m-manylinux1_x86_64.whl (562.0 kB view details)

Uploaded CPython 3.4m

ruamel.yaml-0.15.27-cp33-cp33m-win_amd64.whl (187.6 kB view details)

Uploaded CPython 3.3mWindows x86-64

ruamel.yaml-0.15.27-cp33-cp33m-win32.whl (176.8 kB view details)

Uploaded CPython 3.3mWindows x86

ruamel.yaml-0.15.27-cp33-cp33m-manylinux1_x86_64.whl (536.1 kB view details)

Uploaded CPython 3.3m

ruamel.yaml-0.15.27-cp27-cp27mu-manylinux1_x86_64.whl (532.0 kB view details)

Uploaded CPython 2.7mu

ruamel.yaml-0.15.27-cp27-cp27m-win_amd64.whl (188.5 kB view details)

Uploaded CPython 2.7mWindows x86-64

ruamel.yaml-0.15.27-cp27-cp27m-win32.whl (176.8 kB view details)

Uploaded CPython 2.7mWindows x86

ruamel.yaml-0.15.27-cp27-cp27m-manylinux1_x86_64.whl (532.0 kB view details)

Uploaded CPython 2.7m

File details

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

File metadata

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

File hashes

Hashes for ruamel.yaml-0.15.27.tar.gz
Algorithm Hash digest
SHA256 5cfb13f269650131f30cce7356fc829c50a69bc99a462b863230b09b976e8062
MD5 62b9e66eb1286637100e651cbfb53fd3
BLAKE2b-256 5ec61caffea3492399c81f255ee7aad68b8ec2b11aa74b8df303c87b4ce8567d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.27-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 4dc48e1e665ebdb57632f91eef79a5d491ed43ffee0ef99de2e32943e07d5183
MD5 ff6264391820156d1492bac338637018
BLAKE2b-256 9b30995a36b2f82f4e4d53396c365953962df4ad7754d899cdf5ed1e0591a6d6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.27-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 894568fb48de917496c24839a1d44e7b3443cefe35abea2df068bddce957eb50
MD5 6c7f8cbca984151ffdcece023a341a56
BLAKE2b-256 c5927ccc72408214ce761362b7cb7a6598d4e05252517986273fd318a8ed6575

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.27-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 b7581b136821c8424c956112056f9e255ee8cee5237808d1e28bdddfbb02cadd
MD5 3a58345914223b566395a8dc4ee03e6b
BLAKE2b-256 cb62fa03d834efdc20483a639bd2d6ef5806aa6b1cb53d1b35850d175ec50bc4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.27-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 deed10ffc41bd06e3fdc5ce42f366085f97bb2480acd016a578fa7f3204c7d23
MD5 99cbe1959e38f7b6e1beedb4610f4925
BLAKE2b-256 6538332bc55cbbaf740edf03a447ecd41369cea445f91bfd8bc7682208a5ffc5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.27-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 22094f7ade91104777953f71321fbd3c2f4b7537a2af2d9162c936aaba686f54
MD5 27ac97f3beee5b1678c6b92fc7751ecb
BLAKE2b-256 f4a9ff8cc2176791f70cc26f6c02a16b09d148a4decdc7f1d7235230df17d8a0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.27-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 f6651a89615b7cfcaea82dfd7849eb20a31d21e63d7bb7d77b158fadc5a10c59
MD5 cb37c893a14a36a97561502201a4453e
BLAKE2b-256 c99577793185ae9ed45499d4c5224c056d9139592124123313c71b898692378c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.27-cp34-cp34m-win_amd64.whl
Algorithm Hash digest
SHA256 43b17bc7355bf852c48951238ba5ce9ed4251e660f8aad8dabe60965cd939df3
MD5 49f83f9915951770c253431016981c33
BLAKE2b-256 b3e498bc6641fd81176f8f266f7a5d4f8fe64d5c5f30da9e26777073de727ed1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.27-cp34-cp34m-win32.whl
Algorithm Hash digest
SHA256 d9ecc558ca9ef609e1364ce2c4b0ab0c372e7ff0bfb6d603e80e52373e97a25a
MD5 a0a2d89546d23069ac1fbf9953cbcde8
BLAKE2b-256 64a635529f1dff526016746d433cae8c520445b4101234ccd043335799d3fdbc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.27-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 f1df5c265fd865a40894c91ea44db4d8bfbd56201ecb5de3ae354d0314a2abec
MD5 8a18dd76bab9995562949ef922f06c55
BLAKE2b-256 2a5e579b983c8567df888a4e7750563c32c55dd93e456391dd1c6c371f30634f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.27-cp33-cp33m-win_amd64.whl
Algorithm Hash digest
SHA256 237d75d5fe48e8d16a6e57127652baf554a9f3fe525254a6812c12fe59262200
MD5 64a68810c18fe089f5b6919f58bb8a40
BLAKE2b-256 cc7b840e3ebab493e8ee77c03af24e4cf68fbffc7ba9f701f2c85a5040a3fc14

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.27-cp33-cp33m-win32.whl
Algorithm Hash digest
SHA256 bfbdc5adf7d6aafcd3c42f966d2ca0a604a067d607efe9318d5849825dca792b
MD5 095fb72452bdff0ce504539e02bb62f5
BLAKE2b-256 8c660a16c0e9e14028e90a1106e72ed1fb00f40ff0f379fe0c6230ee3e840ac2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.27-cp33-cp33m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 05b1f239203af2d045018f796c81bfd0f4328b1a83ed641bc6ba705be8f15657
MD5 e15590acbd69e152db53f2dbdb44a6c2
BLAKE2b-256 5ce00081a38f5978da8d71cac634dbba0e19acadb2655734ea1718149e035e96

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.27-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 68aa2f94f1a3f4ac62d3c0f1e8d5161c59508a236120e1efda7c3e7057353e99
MD5 55676a45921314b4e860bbd7df58cded
BLAKE2b-256 a00bb2fdaf6140777f712364f83e3f8e2c5b7509643ed1b19eae3977710e569b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.27-cp27-cp27m-win_amd64.whl
Algorithm Hash digest
SHA256 770c694b32746e0fff802e5c3e450213a069978ae872a790724a4e7455a30e7d
MD5 c73180ce3b5f1be4ed6c9930a4fe0d99
BLAKE2b-256 89dd08dec75c45663e7cd8370e3925f81f8482bcb54f7ca0ebb5056aa5c61d4b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.27-cp27-cp27m-win32.whl
Algorithm Hash digest
SHA256 6a05d115c9b3eadf16fb90f0aaf99826c10bfce8783a2d4f5c6ca56610932686
MD5 d9922408c2ca87ba6e3d4ed134cfd2bf
BLAKE2b-256 1aa3eab0467fd7632477c9536fc7d53ef4d5f7295571ebd81b8ec02ad7ffc421

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.27-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 4743428b9356182e55c45e0eb23220583449f232506604ca0a1f2bcd12ee4c88
MD5 e8ecd73e58119d244ced27be340965d0
BLAKE2b-256 d15a4849f335b768812696392f546770620501e709b8d0f7a8ba2497a2c130d9

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