2013-08-26 10:07:54 -07:00
|
|
|
"""A python library wrapping the Cap'n Proto C++ library
|
|
|
|
|
|
|
|
Example Usage::
|
|
|
|
|
|
|
|
import capnp
|
|
|
|
|
|
|
|
addressbook = capnp.load('addressbook.capnp')
|
|
|
|
|
|
|
|
# Building
|
|
|
|
message = capnp.MallocMessageBuilder()
|
|
|
|
addressBook = message.initRoot(addressbook.AddressBook)
|
|
|
|
people = addressBook.init('people', 2)
|
|
|
|
|
|
|
|
alice = people[0]
|
|
|
|
alice.id = 123
|
|
|
|
alice.name = 'Alice'
|
|
|
|
alice.email = 'alice@example.com'
|
|
|
|
alicePhone = alice.init('phones', 1)[0]
|
|
|
|
alicePhone.type = 'mobile'
|
|
|
|
|
|
|
|
f = open('example.bin', 'w')
|
|
|
|
capnp.writePackedMessageToFd(f.fileno(), message)
|
|
|
|
f.close()
|
|
|
|
|
|
|
|
# Reading
|
|
|
|
f = open('example.bin')
|
|
|
|
message = capnp.PackedFdMessageReader(f.fileno())
|
|
|
|
|
|
|
|
addressBook = message.getRoot(addressbook.AddressBook)
|
|
|
|
|
|
|
|
for person in addressBook.people:
|
|
|
|
print(person.name, ':', person.email)
|
|
|
|
for phone in person.phones:
|
|
|
|
print(phone.type, ':', phone.number)
|
|
|
|
"""
|
2013-07-06 23:41:19 -07:00
|
|
|
from .version import version as __version__
|
|
|
|
from .capnp import *
|
2013-08-26 16:16:58 -07:00
|
|
|
from .capnp import _DynamicStructReader, _DynamicStructBuilder, _DynamicListReader, _DynamicListBuilder, _DynamicOrphan
|
2013-08-26 15:07:13 -07:00
|
|
|
del capnp
|