sbe-python
sbe-python copied to clipboard
Easy-to-use Python SBE decoder and encoder
I've noticed that after parsing a schema, the `description` field of instances of several classes remains `None`. I haven't exhaustively tested this, but at least for message and field tags...
When parsing a schema with message tags that don't specify the `blockLength` attribute, I get this error: ``` ... ...\lib\site-packages\sbe\__init__.py", line 1088, in _parse_schema blockLength=int(attrs['blockLength']), KeyError: 'blockLength' ``` It looks...
Hi, I like the library, ease of use is great. We have a common constant field defined across all templates in my project that can be used for semantic grouping...
Python bistrings are processed MSB-first, but SBE set types are processed LSB first. Therefore, we need to reverse the encoding/decoding order as parsed. This may need to be tested for...
There was some code to handle implied padding, but it didn't quite go far enough for some functions. The first type of padding is between composite type components, as indicated...
- The bits were in the wrong order before.
Schemas can be downloaded here [https://docs.cdp.coinbase.com/downloads/derivatives/cde-sbe-xml-schemas-latest.tar.gz](url) with open('cde-sbe-order-api.xml', 'r') as f: order_schema = sbe.Schema.parse(f) Traceback (most recent call last): File "fairx_messages.py", line 99, in order_schema = sbe.Schema.parse(f) File "/usr/lib/python3.6/site-packages/sbe/__init__.py", line...
If you look at how composite fields parsing (from schema) algorithm is implemented, you will see that offsets of fields include the overall structure offset `WrappedComposite.offset`. Then, `get_raw_pointer(self, key)` does...