--- id: paradict version: "0.0.16" license: MIT license_treatment: permissive maintenance: dormant --- # paradict — Streamable multi-format serialization License: permissive · Maintenance: dormant · Downloads: 125.3K/mo ## 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 above — 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 pip install paradict uv add paradict poetry add paradict ## Installing 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_current - Install friction: low - Maintenance: dormant - Downloads: 125.3K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags dictionary serialization format, binary and text data encoding, schema validation for dictionaries, multi-format serialization, streamable data serialization, configuration file format, data interchange format, serialization, schema-validation, data-format [View on SkillFed](https://skillfed.io/packages/paradict) · [View on PyPI](https://pypi.org/project/paradict/)