amazon-ion
Amazon Ion
What it is and what it does
amazon-ion is a Python implementation of Amazon Ion, a data serialization format that combines JSON-like readability with binary efficiency and richer type semantics. It provides a simpleion module with four familiar APIs (dump, dumps, load, loads) that mirror Python's json module, making it easy for developers already comfortable with JSON parsing to work with Ion data.
The package handles both text and binary Ion formats, with optional C extension acceleration for the simpleion module. It depends on jsonconversion for type conversion and is actively maintained with prebuilt wheels for modern Python versions (3.9+) across multiple platforms, though it also supports compilation from source.
Use it for:
- Serialize and deserialize Ion-formatted data in AWS services or applications that use Ion as their primary data interchange format.
- Parse Ion text format (e.g., '{abc: 123}') into Python objects without learning a new API beyond json-like methods.
- Store or transmit data in Ion binary format for more compact representation than JSON while retaining self-describing structure.
- Migrate from JSON to Ion in existing Python applications by swapping json module calls with amazon.ion.simpleion equivalents.
- Work with Ion's extended type system (timestamps, decimals, symbols) when JSON's limited types are insufficient.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Parses and serializes Amazon Ion, a self-describing data format that extends JSON with richer type support and binary encoding, using a Python API modeled on the standard library's json module.
Yes, if you work with Amazon Ion data or AWS services that use Ion. The API is familiar to JSON users, maintenance is active, and no known vulnerabilities exist. Medium install friction is acceptable for most environments given the availability of prebuilt wheels. Not necessary if you only work with JSON or other formats.
Install
amazon-ion on PyPI
pip
pip install amazon-ionuv
uv add amazon-ionpoetry
poetry add amazon-ionInstalling amazon-ion
Before you install
Medium install friction due to optional C extension compilation, but prebuilt wheels cover common platforms (macOS, Linux, Windows across x86_64 and ARM architectures). Active maintenance with a release 49 days ago.
License in practice
Apache License 2.0 permits commercial and private use with attribution; derivative works must carry prominent modification notices and include a copy of the license.
Quickstart
pip install amazon-ion
import amazon.ion.simpleion as ion
obj = ion.loads('{abc: 123}')
print(ion.dumps(obj, binary=False))
Requires Python 3.9 or later; C extension is optional but improves simpleion performance.
Verify before relying
- Whether the optional C extension is automatically built and used when wheels are unavailable
- Current status of known test vector skips listed in test_vectors.py
Package facts
| License | Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 1 — jsonconversion |
| Maintenance | actively maintained — 49 days since the last release |
| First released | |
| Downloads | 19,541,701/month — #1,062 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: amazon_ion-0.14.6-cp310-cp310-macosx_10_9_x86_64.whl; amazon_ion-0.14.6-cp310-cp310-macosx_11_0_arm64.whl; amazon_ion-0.14.6-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl; amazon_ion-0.14.6-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; amazon_ion-0.14.6-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; amazon_ion-0.14.6-cp310-cp310-musllinux_1_2_aarch64.whl; amazon_ion-0.14.6-cp310-cp310-musllinux_1_2_i686.whl; amazon_ion-0.14.6-cp310-cp310-musllinux_1_2_x86_64.whl; amazon_ion-0.14.6-cp310-cp310-win_amd64.whl; amazon_ion-0.14.6-cp311-cp311-macosx_10_9_x86_64.whl; amazon_ion-0.14.6-cp311-cp311-macosx_11_0_arm64.whl; amazon_ion-0.14.6-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl; amazon_ion-0.14.6-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; amazon_ion-0.14.6-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; amazon_ion-0.14.6-cp311-cp311-musllinux_1_2_aarch64.whl; amazon_ion-0.14.6-cp311-cp311-musllinux_1_2_i686.whl; amazon_ion-0.14.6-cp311-cp311-musllinux_1_2_x86_64.whl; amazon_ion-0.14.6-cp311-cp311-win_amd64.whl; amazon_ion-0.14.6-cp312-cp312-macosx_10_13_x86_64.whl; amazon_ion-0.14.6-cp312-cp312-macosx_11_0_arm64.whl
Tags
More Text Processing packages
A drop-in replacement for Python's standard…
permissive · top 100 on PyPI
pyparsingpyparsing provides a library for building text…
permissive · top 1,000 on PyPI
docutilsDocutils converts plaintext documentation in…
unclear · top 1,000 on PyPI
RapidFuzzRapidFuzz provides fast fuzzy string matching…
permissive · top 1,000 on PyPI
tinycss2tinycss2 parses CSS strings into token and…
permissive · top 1,000 on PyPI
llama-parseLlamaParse parses complex documents (PDFs,…
permissive · top 1,000 on PyPI
pyion2jsonConverts Amazon Ion documents and QLDB query…
permissive · top 15,000 on PyPI
typing-jsonProvides type-aware JSON serialization and…
permissive · top 15,000 on PyPI
phpserializeConverts Python objects to and from PHP…
permissive · top 15,000 on PyPI
amazon-braket-schemasProvides serialization, deserialization, and…
permissive · top 15,000 on PyPI
json-with-commentsParses and serializes JSON with support for…
permissive · top 15,000 on PyPI
vobjectParses and serializes iCalendar and vCard…
permissive · top 5,000 on PyPI
json-fixPatches Python's built-in `json` module to…
permissive · top 15,000 on PyPI
json-tricksExtends Python's JSON serialization to handle…
permissive · top 15,000 on PyPI
orjsonorjson is a fast JSON serialization and…
copyleft · top 1,000 on PyPI
pytomlParses and writes TOML configuration files with…
permissive · top 15,000 on PyPI