Skip to main content

Python 3-based commandline converter CSV → YAML ↔ JSON ↔ PLIST ↔ XML

Project description

yaplon

Convert between JSON, YAML and PLIST (binary and XML) in the commandline. Can be used in piping. Written in Python 3.9 (not 2.7 compatible).

Installation

pip3 install --user --upgrade yaplon
pip3 install --user --upgrade git+https://github.com/twardoch/yaplon

Usage

yaplon [c|j|p|x|y]2[j|p|x|y] -i input -o output [options]

Commands:

c2j  -i CSV -o JSON [-d DIALECT] [-k KEY] [-m] (minify)
c2p  -i CSV -o PLIST [-d DIALECT] [-k KEY] [-m] (minify)
c2x  -i CSV -o XML [-d DIALECT] [-k KEY] [-m] (minify) [-S] (simple XML)
c2y  -i CSV -o YAML [-d DIALECT] [-k KEY] [-m] (minify)
j2p  -i JSON -o PLIST [-b] (make binary PLIST)
j2x  -i JSON -o XML [-m] (minify) [-S] (simple XML)
j2y  -i JSON -o YAML [-m] (minify YAML)
p2j  -i PLIST -o JSON [-m] (minify) [-b] (keep binary)
p2x  -i PLIST -o XML [-m] (minify) [-S] (simple XML)
p2y  -i PLIST -o YAML [-m] (minify YAML)
x2j  -i XML -o JSON [-m] (minify) [-b] (keep binary)
x2p  -i XML -o PLIST [-b] (make binary PLIST)
x2y  -i XML -o YAML [-m] (minify YAML)
y2j  -i YAML -o JSON [-m] (minify) [-b] (keep binary)
y2p  -i YAML -o PLIST [-b] (make binary PLIST)
y2x  -i YAML -o XML [-m] (minify) [-S] (simple XML)

Also installs direct CLI tools that correspond to the commands:

  • csv22json, csv22plist, csv22xml, csv22yaml,
  • json22plist, json22xml, json22yaml,
  • plist22json, plist22xml, plist22yaml,
  • xml22json, xml22plist, xml22yaml,
  • yaml22json, yaml22plist, yaml22xml

Note that they have 22 rather than 2 in the filenames, so they don’t conflict with other similar (often single-purpose) tools that you may have.

Examples

JSON to YAML

File to file via the dedicated CLI tool:

$ json22yaml -i input.json -o output.yaml

Using pipe redirects, via the yaplon tool with j2y command:

$ yaplon j2y < input.json > output.yaml

Read file, output minified to stdout, via the Python 3 module

$ python3 -m yaplon j2y -m -i input.json

PLIST to JSON

Read PLIST file, output minified JSON file, via the dedicated CLI tool.

$ plist22json -m -i input.plist > output.json

Read plist file, output minified JSON to stdout, via the yaplon tool with p2j command.

$ yaplon p2j -m -i input.plist

Changelog

  • 1.5.7: switched to Unicode output in JSON, refactoring
  • 1.5.3: added CSV reading and limited XML read/write
  • 1.2.7: removed obsolete plistlib.Data reference
  • 1.2.3: bugfix
  • 1.2.1: added support for orderedattrdict.AttrDict
  • 1.1.0: added -s for sorting data
  • 1.0.8: initial public release

Links

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

yaplon-1.6.0.tar.gz (15.2 kB view details)

Uploaded Source

Built Distribution

yaplon-1.6.0-py3-none-any.whl (14.8 kB view details)

Uploaded Python 3

File details

Details for the file yaplon-1.6.0.tar.gz.

File metadata

  • Download URL: yaplon-1.6.0.tar.gz
  • Upload date:
  • Size: 15.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.2

File hashes

Hashes for yaplon-1.6.0.tar.gz
Algorithm Hash digest
SHA256 62abdf79de66480138df1daf25b0bb1f682aa6f86963190bf1684df7fd9c2b86
MD5 bde6964531a20dd601f405320bfc4739
BLAKE2b-256 04b9db03a9fb96fe413d3350e60fd5e44309efbb1daed4973923bf341e322062

See more details on using hashes here.

File details

Details for the file yaplon-1.6.0-py3-none-any.whl.

File metadata

  • Download URL: yaplon-1.6.0-py3-none-any.whl
  • Upload date:
  • Size: 14.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.2

File hashes

Hashes for yaplon-1.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 484f9cf1bd3f212f00dd9c03f69b65929fa0a6dd1afca210d57fba00d1bb7f07
MD5 c6eebb5d38eedfda9c89399788d3727f
BLAKE2b-256 4c1bae40459d6be1cd43f25de95eae4168de906094757fb2ff41780212ec8f86

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