Serial

0.0.97 · active · verified Fri Apr 17

The `serial` library provides a framework for simple and powerful serialization and deserialization of Python class instances to and from various data formats like JSON, YAML, and XML. It leverages schema definitions for robust type handling and validation. The current version is 0.0.97, and it maintains an active development pace, though it is still in a pre-1.0 state.

Common errors

Warnings

Install

Imports

Quickstart

This quickstart demonstrates how to define a schema using `serial.fields`, instantiate `Serializer` and `Deserializer` for JSON format, and then serialize a Python dictionary into JSON and deserialize it back. It showcases basic schema validation and default value handling.

from serial import Serializer, Deserializer, fields
import json

# Define a schema for a simple User object
user_schema = {
    "id": fields.Integer(required=True),
    "name": fields.String(required=True),
    "email": fields.Email(required=False),
    "is_active": fields.Boolean(default=True)
}

# Create a serializer instance for JSON
user_serializer = Serializer(user_schema, format="json")

# Create a deserializer instance for JSON
user_deserializer = Deserializer(user_schema, format="json")

# Example data to serialize
user_data = {"id": 1, "name": "Alice Wonderland", "email": "alice@example.com"}

# Serialize the data
serialized_output = user_serializer.serialize(user_data)
print(f"Serialized JSON: {serialized_output}")

# Deserialize the data
deserialized_object = user_deserializer.deserialize(serialized_output)
print(f"Deserialized Object: {deserialized_object}")

view raw JSON →