A Python implementation of JCOF: JSON-like Compact Object Format
GPL-3.0+ License
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.
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
, notpyjcof
.
To install pyJCOF through Git:
python -m pip install git+https://gitlab.com/whoatemybutter/pyjcof.git
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
The changelog is at CHANGELOG.md.
pyJCOF is licensed under GNU General Public License 3.0 or later.