Skip to main content

Read and write readable YAML safely preserving order and avoiding bad surprises with unwanted infered type conversions. This library is a PyYaml wrapper with sane behaviour to read and write readable YAML safely, typically when used for configuration.

Project description

This micro library is a PyYaml wrapper with sane behaviour to read and write readable YAML safely, typically when used with configuration files.

With saneyaml you can dump readable and clean YAML and load safely any YAML preserving ordering and avoiding surprises of type conversions by loading everything except booleans as strings.

Optionally you can check for duplicated map keys when loading YAML.

Works with Python 3. Requires PyYAML 5.x or higher.

license: apache-2.0 homepage_url: https://github.com/aboutcode-org/saneyaml

Usage:

pip install saneyaml

>>> from  saneyaml import load
>>> from  saneyaml import dump
>>> a=load('''version: 3.0.0.dev6
...
... description: |
...     AboutCode Toolkit is a tool to process ABOUT files. An ABOUT file
...     provides a way to document a software component.
... ''')
>>> a
dict([
    (u'version', u'3.0.0.dev6'),
    (u'description', u'AboutCode Toolkit is a tool to process ABOUT files. '
    'An ABOUT file\nprovides a way to document a software component.\n')])

>>> pprint(a.items())
[(u'version', u'3.0.0.dev6'),
 (u'description',
  u'AboutCode Toolkit is a tool to process ABOUT files. An ABOUT file\nprovides a way to document a software component.\n')]
>>> print(dump(a))
version: 3.0.0.dev6
description: |
  AboutCode Toolkit is a tool to process ABOUT files. An ABOUT file
  provides a way to document a software component.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

saneyaml-0.6.1.tar.gz (82.2 kB view details)

Uploaded Source

Built Distribution

saneyaml-0.6.1-py3-none-any.whl (13.1 kB view details)

Uploaded Python 3

File details

Details for the file saneyaml-0.6.1.tar.gz.

File metadata

  • Download URL: saneyaml-0.6.1.tar.gz
  • Upload date:
  • Size: 82.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for saneyaml-0.6.1.tar.gz
Algorithm Hash digest
SHA256 19cfbd8bf94d730998162c790fe5cec9abb5300cc5890fe37dc6dbcaa8fb16bb
MD5 0ab1ec694c2c004035d1d42c17ac47b0
BLAKE2b-256 18bbb3ab128fe13964fc8da25ecbac82f9ed9beb59b2e04bfbef433886f1acb0

See more details on using hashes here.

File details

Details for the file saneyaml-0.6.1-py3-none-any.whl.

File metadata

  • Download URL: saneyaml-0.6.1-py3-none-any.whl
  • Upload date:
  • Size: 13.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.19

File hashes

Hashes for saneyaml-0.6.1-py3-none-any.whl
Algorithm Hash digest
SHA256 60553363ac55433cef2bc1d6c5a1c9f6e2787e5f40e8c6fad5983eb701592c5b
MD5 47c80e3186ef3116ff2b0eb6d5c1fa71
BLAKE2b-256 eac0b41733920cef3d87ee7d1fd5a618c7bb5240ba80dd2f29c73ec3416b3e04

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page