paradict
Streamable multi-format serialization
What it is and what it does
Paradict is a serialization library that converts Python dictionaries to and from textual or binary representations. It offers two textual modes—a data-mode for bidirectional mapping to binary, and a config-mode with lighter syntax for configuration files—making it a multi-format alternative to JSON, YAML, TOML, Protobuf, MessagePack, and CBOR. The library supports a rich set of datatypes including strings, binary data, integers, floats, complex numbers, booleans, dates, times, datetimes, and nested lists, sets, and dictionaries.
Paradict includes a validation mechanism where schemas describe expected keys and data types, optionally with custom checker callbacks for programmatic validation. The API is built on four fundamental classes—Encoder, Decoder, Packer, and Unpacker—for iterative serialization, plus bulk functions and utilities like pack_into and unpack_from for file I/O. An extension mechanism allows custom object builders to transform extension objects during deserialization.
Use it for:
- Serialize application state or configuration to binary files with datetime and complex number support
- Validate incoming dictionary data against a schema before processing
- Read and write structured data files in a human-readable textual format with lighter syntax than JSON
- Stream large dictionaries incrementally using Encoder and Decoder classes
- Define custom types and objects that deserialize into domain-specific Python classes via object builders
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Paradict serializes and deserializes Python dictionaries to textual or binary formats, with built-in schema validation and support for rich datatypes including dates, times, complex numbers, and nested structures.
Yes, if you need a multi-format dictionary serialization library with schema validation and support for rich datatypes. Install friction is minimal and the MIT license poses no restrictions. However, maintenance is dormant—the last commit was 2024-12-10 and activity is minimal—so consider this for stable, self-contained use cases rather than projects requiring active upstream support.
Install
paradict on PyPI
pip
pip install paradictuv
uv add paradictpoetry
poetry add paradictInstalling paradict
Before you install
Low friction: pure Python wheel with no runtime dependencies. Maintenance is dormant—last commit was 2024-12-10 and the repository has not been archived, but activity is minimal.
License in practice
MIT license permits use, modification, and distribution with minimal restrictions; suitable for both open-source and proprietary projects.
Quickstart
from paradict import pack, unpack
my_dict = {0: 42}
bin_data = pack(my_dict)
assert my_dict == unpack(bin_data)
Verify before relying
- Performance characteristics compared to JSON, MessagePack, or CBOR for typical workloads
- Streaming API maturity and real-world adoption patterns
- Whether the extension mechanism and object builder pattern are stable and well-tested
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.5) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | dormant — 612 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 125,335/month — #11,825 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: paradict-0.0.16-py3-none-any.whl
Keywords: pyrustic
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
kvfReads and writes configuration files in KvF…
permissive · top 15,000 on PyPI
sharedShared provides a simple file-based data…
permissive · top 15,000 on PyPI
braqBraq is a Python library for parsing and…
permissive · top 15,000 on PyPI
cborSerializes and deserializes data in CBOR…
permissive · top 5,000 on PyPI
python-benedictA dict subclass that adds dot-notation access,…
permissive · top 5,000 on PyPI
nestedtextNestedText is a human-friendly file format for…
permissive · top 15,000 on PyPI
ytsaurus-ysonProvides C++ bindings for serializing and…
permissive · top 15,000 on PyPI
dynamodb-jsonConverts Python objects to and from DynamoDB's…
unclear · top 5,000 on PyPI
serpyco-rsSerializes and deserializes Python dataclasses…
permissive · top 15,000 on PyPI
msgspecmsgspec encodes and decodes JSON, MessagePack,…
permissive · top 1,000 on PyPI