ckdl - KDL reading and writing using a C backend
ckdl is a C library that implements reading and writing a the
KDL Document Language.
This package lets Python programs read and write KDL (both version 2.0.0 and
version 1.0.0) files, using ckdl as a back-end.
Install with
pip install ckdl
Examples
Reading
>>> import ckdl
>>> kdl_txt = """
... best-primes 2 3 5 7
... colours importance=(%)1000 { green; blue shade=синий; blue shade=голубой; violet }
... """
>>> doc = ckdl.parse(kdl_txt)
>>> doc
<Document; 2 nodes>
>>> doc[0]
<Node best-primes; 4 args>
>>> doc[0].args
[2, 3, 5, 7]
>>> doc[1].properties
{'importance': <Value (%)1000>}
>>> doc[1].properties['importance'].value
1000
>>> doc[1].properties['importance'].type_annotation
'%'
>>> doc[1].children
[<Node green>, <Node blue; 1 property>, <Node blue; 1 property>, <Node violet>]
>>> doc[1].children[1].properties['shade']
Writing
>>> mydoc = ckdl.Document(ckdl.Node("best-primes", 7, 11, 13), ckdl.Node("worst-values", ckdl.Value("scary", None)))
>>> print(str(mydoc))
best-primes 7 11 13
worst-values (scary)#null