pyjcof

A Python implementation of JCOF: JSON-like Compact Object Format

GPL-3.0+ License

Downloads
52
Stars
0

pyJCOF

A Python implementation of JCOF: JSON-like Compact Object Format

For an explanation on what JCOF is, please see https://github.com/mortie/jcof. This README does not explain the semantics of JCOF or its syntax.

Table of contents


Installation

pyJCOF is available on PyPi. It requires a Python version of at least 3.10.0. and depends on no packages.

To install pyJCOF with pip:

python -m pip install jcof

The package name is jcof, not pyjcof.

To install pyJCOF through Git:

python -m pip install git+https://gitlab.com/whoatemybutter/pyjcof.git

Usage

pyJCOF functions are similar to json. Use jcof.dumps for converting Python values to JCOF, and use jcof.loads for converting JCOF to Python values.

Use dump and load for dealing with files rather than objects.

import jcof

example = {
    "people": [
        {"first-name": "Bob", "age": 32, "occupation": "Plumber", "full-time": True},
        {
            "first-name": "Alice",
            "age": 28,
            "occupation": "Programmer",
            "full-time": True,
        },
        {"first-name": "Bernard", "age": 36, "occupation": None, "full-time": None},
        {"first-name": "El", "age": 57, "occupation": "Programmer", "full-time": False},
    ]
}

dumped = jcof.dumps(example)
# 'Programmer;"age""first-name""full-time""occupation";{"people"[(0,iw"Bob"b"Plumber")(0,is"Alice"b,s0)(0,iA"Bernard"n,n)(0,iV"El"B,s0)]}'

assert jcof.loads(dumped) == example
# Returns nothing; True

Changelog

The changelog is at CHANGELOG.md.


License

pyJCOF is licensed under GNU General Public License 3.0 or later.