ion-python
ion-python copied to clipboard
A Python implementation of Amazon Ion.
There is cleanup work to be done with how ion-python validates binary Ion timestamp type descriptor `0x61` that came out of https://github.com/amzn/ion-tests/pull/57 when testing the `ion-tests/iontestdata/bad/typecodes/*.10n` files: * _type\_6\_length\_1.10n_ (`0x61`)...
Often we have scenarios where input comes as JSON, converted to ION to do some business requirements, append data, etc, and then needs to be converted back to JSON. IonJava...
[ion-hash-python](https://github.com/amzn/ion-hash-python) is a companion project that uses simpleion's internal `_dump` method. When breaking changes are made to `_dump`, ion-hash-python breaks. Running ion-hash-python's tests within this repository will detect the breakage...
The "amazon" package namespace is effectively closed due to behavior around __init__.py (see [the-init-py-trap](http://python-notes.curiousefficiency.org/en/latest/python_concepts/import_traps.html#the-init-py-trap)). This prevents definition of other subpackages in other directory structures (or repositories), e.g. `amazon.ionhash`. That said,...
It would be very useful to have an option to keep the order of insertion of the keys. This option would be diferent from ```sort_keys```or ```item_sort_keys``` where the user needs...
I can't save an Ion payload to DynamoDB with Boto3. It looks like Boto3 makes a deep copy prior to saving, which throws. ``` import boto3 import copy from decimal...
Writing a `core.ION_VERSION_MARKER_EVENT` fails on the raw writer: ``` >>> from amazon.ion import * >>> import io >>> w = writer.blocking_writer(writer_binary_raw._raw_binary_writer(writer_buffer.BufferTree()), io.BytesIO()) >>> w.send(core.ION_VERSION_MARKER_EVENT) Traceback (most recent call last): File...
Currently, the text writer escapes any code point outside of ASCII range. This is required when the output encoding is restricted to ASCII, but causes unnecessary bloating when UTF-8 output...
When a shared symbol table is not found, a stream can still be read; the symbols referenced from the unavailable imports simply have "unknown" text (e.g. "$128"). When this happens,...