Extensible features for all content

Features are a way to store additional information about a content node, such as spatial coordinates or a workbook cell reference. They are designed to be highly flexible -- you can add a feature to any node simply by providing a feature_type, name, and value. In order for the document to be serializable, you must ensure that your value is JSON serializable.

document.get_root().add_feature('styling','font','Comic Sans')
# or you get get the features back with
>>> True
>>> 'Comic Sans'