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.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.30.tar.gz (259.1 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.30-cp36-cp36m-win_amd64.whl (186.0 kB view details)

Uploaded CPython 3.6mWindows x86-64

ruamel.yaml-0.15.30-cp36-cp36m-win32.whl (171.7 kB view details)

Uploaded CPython 3.6mWindows x86

ruamel.yaml-0.15.30-cp36-cp36m-manylinux1_x86_64.whl (556.7 kB view details)

Uploaded CPython 3.6m

ruamel.yaml-0.15.30-cp35-cp35m-win_amd64.whl (186.0 kB view details)

Uploaded CPython 3.5mWindows x86-64

ruamel.yaml-0.15.30-cp35-cp35m-win32.whl (171.7 kB view details)

Uploaded CPython 3.5mWindows x86

ruamel.yaml-0.15.30-cp35-cp35m-manylinux1_x86_64.whl (556.5 kB view details)

Uploaded CPython 3.5m

ruamel.yaml-0.15.30-cp34-cp34m-win_amd64.whl (188.8 kB view details)

Uploaded CPython 3.4mWindows x86-64

ruamel.yaml-0.15.30-cp34-cp34m-win32.whl (177.9 kB view details)

Uploaded CPython 3.4mWindows x86

ruamel.yaml-0.15.30-cp34-cp34m-manylinux1_x86_64.whl (563.0 kB view details)

Uploaded CPython 3.4m

ruamel.yaml-0.15.30-cp33-cp33m-win_amd64.whl (188.6 kB view details)

Uploaded CPython 3.3mWindows x86-64

ruamel.yaml-0.15.30-cp33-cp33m-win32.whl (177.9 kB view details)

Uploaded CPython 3.3mWindows x86

ruamel.yaml-0.15.30-cp33-cp33m-manylinux1_x86_64.whl (537.2 kB view details)

Uploaded CPython 3.3m

ruamel.yaml-0.15.30-cp27-cp27mu-manylinux1_x86_64.whl (533.0 kB view details)

Uploaded CPython 2.7mu

ruamel.yaml-0.15.30-cp27-cp27m-win_amd64.whl (189.6 kB view details)

Uploaded CPython 2.7mWindows x86-64

ruamel.yaml-0.15.30-cp27-cp27m-win32.whl (177.8 kB view details)

Uploaded CPython 2.7mWindows x86

ruamel.yaml-0.15.30-cp27-cp27m-manylinux1_x86_64.whl (533.0 kB view details)

Uploaded CPython 2.7m

File details

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

File metadata

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

File hashes

Hashes for ruamel.yaml-0.15.30.tar.gz
Algorithm Hash digest
SHA256 f3569d67863fc357633c624627fc719e260c487ac0fefad05f66e6aa64ac990f
MD5 ebc0fbd64897128e4352851c9b63a815
BLAKE2b-256 833cdf639e7e6a504164f9552498ba340e6bbd60b0383036744549119df7dc13

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.30-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 76a0623eecc6bea84fc29d0fc1ecd4cc63ab2d4230716363cb613eedc72395c0
MD5 5c11b41c65d97ca9ac24f45c3a8d4f2c
BLAKE2b-256 a065c423dcb0b7adf09c3dfb8db14a892a11b0668348437f979c0c4a4ff57f7f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.30-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 35f1dc63d06bfd447c2f3436a46f27a398db10f81d84ea5dee71d8f4a874285f
MD5 cb48f537138e887469b23ad90ba8c249
BLAKE2b-256 f0998fc5244945b116f6d120ba3b7664f4244ac0b43e81f378c1868954dca06c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.30-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 33884bb39d16d6a2eeb6278eaed5b491795c6ebb39d41e3b1b08546f5e7c70fd
MD5 d5dc683f951516355da91cd7ac01a16b
BLAKE2b-256 ad914c941e929ba07310c4d44de0a65c7b9bd5717fc2f1f239195f5e112302ef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.30-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 e207b9bad394df0df87fbc1c80caf392b6ae81cc9b4f096eb6085650cc1a57c6
MD5 fc45f667027805c36276b8f769202bc3
BLAKE2b-256 142d1ea656b1bfa0c7a3a1781c44b82dd0769f32f5d313543c3f9734d48ecc49

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.30-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 8b00f579271a57289a8be1873999cd70f3d999279e0016b6990cab8cb8e83e30
MD5 b73f2b862243088a1eb8518defe15ca2
BLAKE2b-256 31685cb3f1899793af626d0a1234376c464743b253854b77a6f2e9a6bb494695

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.30-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 87af095a07460108535a776c8dd10a963fc2017d381195dee53222d3d3b6d231
MD5 45c096593c05927d671758d6d78cba91
BLAKE2b-256 3964dba28fd4322d9f62f90e4bc9da9cd59f219f2b386ca1092c5b3d45cf51d1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.30-cp34-cp34m-win_amd64.whl
Algorithm Hash digest
SHA256 c99c21771288739351dba20dc8e3bf6165fc99f30ba619e73f494bcdae8cfb54
MD5 ab215bd9bb9261da034f741524156010
BLAKE2b-256 5de70b9c1ee6545ebb3b8734fe211fd405e73acf2915a8c1a3753aa931045f8d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.30-cp34-cp34m-win32.whl
Algorithm Hash digest
SHA256 0d307ec0635eb10e478401b5edbe90fc71d5f3656447fbbde5f5dfbaa745cabb
MD5 75bcebe71cfb8f5e8ed6ebfb564229aa
BLAKE2b-256 fd598e361de50646c7ad54d57c46e6e081bba4367e97be8a179ae0172f362aa9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.30-cp34-cp34m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 311ba539341cb7f3ba6fb30c216c34390c7512f62434a912d253a733bfcebc42
MD5 f6099b565005fe6418cb786e6548a5e8
BLAKE2b-256 9170bbdfd75e2fdb6a7aa2721e57442576e3475e4afd30929e8cc8199ae61a12

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.30-cp33-cp33m-win_amd64.whl
Algorithm Hash digest
SHA256 a953c131de80a3cb47fd8f2827c2deae566706ec166b1c0da4f0d58919d90634
MD5 a43f3ffde27a4197d3c69167c7826d24
BLAKE2b-256 5c09ae89ce0abe65eaf275e3790e27e4bce5e783553f195d9dc4d64d19d74f56

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.30-cp33-cp33m-win32.whl
Algorithm Hash digest
SHA256 8a1222d21143a3a0f5aea2d8ae35e303ad966d6474174c425fabdf6f0fb77bce
MD5 08f3cfdfc902ff10c31d5b22fb97adc4
BLAKE2b-256 af2a6976a9ea8e9b7fc3e4a58f24c35462bcd7137b8899d03bd0ce83ce80b9d6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.30-cp33-cp33m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 14982078aa8d074cbaeda91395794577472562061eb0e456b21417a4835f63e5
MD5 96fcce063dd3fbd178e38be49add731c
BLAKE2b-256 01aa6641fe459c2c4478cd7089da07bba86117d1f58939df1f7546236f7fc55b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.30-cp27-cp27mu-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 3975655119100114a3e333b60784ed1b1bdf933426ff7d46c7867cb45cc7cc36
MD5 1fae5fd96ab8c57338c109ee58483eba
BLAKE2b-256 43c91255526ba3e7ee73212a54bff00c9b7309af5522c2305206b75773956824

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.30-cp27-cp27m-win_amd64.whl
Algorithm Hash digest
SHA256 582fedf931f2ca5d152367f78ee16ca0d3e813eb9c232b8e248baaeb6962abc9
MD5 dfbcedcf21cfde49e22c3b627d4d46da
BLAKE2b-256 f5c36da46cb56c9b9263367efa380a7141f12010facf3543f8001cdcc964c71b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.30-cp27-cp27m-win32.whl
Algorithm Hash digest
SHA256 32e8b0a5be13b95a8a0a8dd5c3583363af7b15fb4a67a881093518d44d5ec2e0
MD5 093dbc8407fee417ed5626e00f31d960
BLAKE2b-256 337a74e88a17114470d2e4fb87187ed1e70ccdef966ad6460032893eec98ab00

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for ruamel.yaml-0.15.30-cp27-cp27m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 d3c308e5caa068499a02af873fe44aeeb7f14732ff4b8808f75d7b15ef962b71
MD5 c5491c33d79f12119b716e77888812d0
BLAKE2b-256 8c42726cb5d7e8f8f0338735399813dc8f00b8ada76c3c32c38adfad9ad74ea3

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