A Python library for interacting with Refract.
$ pip install refractelement = Element('elementName', content='Doe')element.id = String(content='Doe')
element.title = String(content='Name')
element.description = String(content='A short decription')You can compute the underlying value into a Python type using
underlying_value.
element = Object(content=[
Member(key=String(content='id'), value=String(content='Example'))
])
print(element.underlying_value)
# {'id': 'Example'}element = String(content='Doe')element = Number(content=7)element = Boolean(content=True)element = Null()array = Array(content=[
String(content='Doe')
])
array.append(String(content='Other'))len(array)array[0]
# String(content='Doe')for element in array:
print(element)You can use high order functions like map, filter, reduce on array.
strings = filter(lambda element: element is String, array)member = Member(key=String(content='id'), value=String(content='Example'))
member.key
# String(content='id')
member.value
# String(content='Example')obj = Object(content=[
Member(key=String(content='id'), value=String(content='Example'))
])len(obj)obj.keys()
# [String(content='id')]obj.values()
# [String(content='Example')]pair = KeyValuePair(key=String(content='id'), value=String(content='Example'))from refract.json import JSONSerialiser, JSONDeserialiser
serialiser = JSONSerialiser()
json = serialiser.serialise(element)
deserialiser = JSONDeserialiser()
element = deserialiser.deserialise(json)