Base class with serialization helpers for user-defined Python objects
Project description
[![Build Status](https://travis-ci.org/iskandr/serializable.svg?branch=master)](https://travis-ci.org/iskandr/serializable)
# serializable Base class with serialization methods for user-defined Python objects
## Usage Classes which inherit from Serializable are enabled with default implementations of to_json, from_json, __reduce__ (for pickling), and other serialization helpers.
A derived class must either:
have a member data matching the name of each argument to __init__
provide a user-defined to_dict() method which returns a dictionary whose keys match the arguments to __init__
If you change the keyword arguments to a class which derives from Serializable but would like to be able to deserialize older JSON representations then you can define a class-level dictionary called _KEYWORD_ALIASES which maps old keywords to new names (or None if a keyword was removed).
## Limitations
Serializable objects must inherit from Serializable, be tuples or namedtuples, be serializble primitive types such as dict, list, int, float, or str.
The serialized representation of objects relies on reserved keywords (such as “__name__”, and “__class__”), so dictionaries are expected to not contain any keys which begin with two underscores.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file serializable-0.2.1.tar.gz
.
File metadata
- Download URL: serializable-0.2.1.tar.gz
- Upload date:
- Size: 8.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: Python-urllib/3.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec604e5df0c1236c06d190043a407495c4412dd6b6fd3b45a8514518173ed961 |
|
MD5 | d2988f388a0f23dab4681c7d448fd6d1 |
|
BLAKE2b-256 | 5fe2b08fefdd2b3bf59491170505a7eca09996606ea35ed53392cc0aa3041604 |