Using metadata

Key/value metadata can be written to entities using the metadata property and also used to query entities.

The metadata property has a similar interface as a dictionary and keys can be printed using the keys method:

>>> print(new_sequence['metadata'].keys())
['frame_padding', 'focal_length']

or items:

>>> print(new_sequence['metadata'].items())
[('frame_padding': '4'), ('focal_length': '70')]

Read existing metadata:

>>> print(new_sequence['metadata']['frame_padding'])
'4'

Setting metadata can be done in a few ways where that later one will replace any existing metadata:

new_sequence['metadata']['frame_padding'] = '5'
new_sequence['metadata'] = {
    'frame_padding': '4'
}

Entities can also be queried using metadata:

session.query(
    'Sequence where metadata any (key is "frame_padding" and value is "4")'
)