Skip to main content

ParityOS Serialization

A simple automatic serialization library that is largely inspired by cattrs. It shares cattrs's philosophy of being non-intrusive and not requiring subclassing or abstract method implementation. Instead it relies on automatic object structure deduction for attrs classes or dataclasses and custom (de)serialization hooks which can be registered for custom classes. This is similar to json's default parameter to dump and object_hook parameter to load.

However with respect to cattrs it comes with some significant differences:

  • All objects are serialized together with a unique class tag and the serializer relies on this information for deserialization, rather than type annotations of target fields. This alleviates many troubles cattrs has with deserializing subclasses of types used as type annotations.
  • It inspects the object to serialize, not just its type, which allows e.g. serialization of classes themselves.
  • It doesn't care about generics and typevars as all concrete type information is recorded in the serialized data. This especially allows for greater flexibility with using subclasses of generics.

For more information see the documentation

Installation

It is recommended to install this package in a separate Python virtual environment. For example:

# To create a standard Python virtual environment:
python -m venv my_new_venv && source my_new_venv/bin/activate
# Alternatively, to create a Anaconda/Miniconda environment:
conda create --name my_new_conda_env python=<version> && conda activate my_new_conda_env
# or a pyenv environment
pyenv virtualenv <version> my_new_venv && pyenv activate my_new_venv
# or a uv managed environment
uv venv -p <version>

where <version> is a python version and one of [3.12, 3.13, 3.14].

After activating the virtual environment, install via your favorite package manager, e.g.:

# using pip
pip install parityos-serialization
# using uv
uv pip install parityos-serialization

License

This software package is made available under the 3-Clause BSD License. See License.txt for details.

Metadata

Release files for parityos-serialization 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for parityos-serialization 0.1.1
File Size Uploaded Provenance Actions
parityos_serialization-0.1.1.tar.gz 19.7 kB Without provenance Details for parityos_serialization-0.1.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for parityos-serialization 0.1.1
File Interpreter ABI Platform Actions
parityos_serialization-0.1.1-py3-none-any.whl Python 3 none any Details for parityos_serialization-0.1.1-py3-none-any.whl

Total release size: 42.8 kB

Release files / parityos_serialization-0.1.1.tar.gz

Download URL parityos_serialization-0.1.1.tar.gz
Size 19.7 kB
Tags Source
SHA-256 checksum
How to use checksums
67f6892318a952346fe6082ef0f3c985ed0b4c0d9787975cff7b03c01e337750
BLAKE2b-256 checksum
How to use checksums
ca5c78a6a564b762c4bf3a7f1d72ab0db16e38e7bc6cd96bcb2731846035c508
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / parityos_serialization-0.1.1-py3-none-any.whl

Download URL parityos_serialization-0.1.1-py3-none-any.whl
Size 23.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
beca0eeddae68b9f11f1aa21812559856cab0c5a3c2dec51539daaac0b93715b
BLAKE2b-256 checksum
How to use checksums
2609af331855beb373c82d7c0a48aafc9f17ea5f8868dd64da7e7fe24f15adf5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Security for parityos-serialization 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page