Version: v1.2.3 | Status: Active | Last Updated: March 2026
The serialization module provides data serialization and deserialization utilities supporting JSON, YAML, TOML, pickle, and MessagePack formats.
Multi-format data serializer.
from codomyrmex.serialization import SerializerSerializer(format: str = "json")| Parameter | Type | Default | Description |
|---|---|---|---|
format |
str |
"json" |
Serialization format: "json", "yaml", "toml", "pickle", "msgpack" |
def serialize(data: Any) -> bytesSerialize data to bytes.
| Parameter | Type | Description |
|---|---|---|
data |
Any |
Data to serialize |
Returns: bytes - Serialized data
Raises: SerializationError if serialization fails
def deserialize(data: bytes) -> AnyDeserialize bytes to data.
| Parameter | Type | Description |
|---|---|---|
data |
bytes |
Serialized data |
Returns: Any - Deserialized data
Raises: SerializationError if deserialization fails
def serialize_to_file(data: Any, path: str) -> boolSerialize data and write to file.
def deserialize_from_file(path: str) -> AnyRead file and deserialize.
High-level serialization management with format detection.
from codomyrmex.serialization import SerializationManagerdef detect_format(path: str) -> strDetect serialization format from file extension.
def auto_serialize(data: Any, path: str) -> boolAutomatically serialize based on file extension.
def auto_deserialize(path: str) -> AnyAutomatically deserialize based on file extension.
from codomyrmex.serialization import SerializationErrorRaised when serialization operations fail. Inherits from CodomyrmexError.
from codomyrmex.serialization import Serializer
serializer = Serializer("json")
data = {"name": "example", "values": [1, 2, 3]}
serialized = serializer.serialize(data)
restored = serializer.deserialize(serialized)
assert restored == datafrom codomyrmex.serialization import Serializer
serializer = Serializer("yaml")
config = {
"database": {"host": "localhost", "port": 5432},
"debug": True
}
serializer.serialize_to_file(config, "config.yaml")
loaded = serializer.deserialize_from_file("config.yaml")from codomyrmex.serialization import SerializationManager
manager = SerializationManager()
# Automatically uses YAML format based on extension
manager.auto_serialize(data, "output.yaml")
# Automatically detects format and deserializes
data = manager.auto_deserialize("config.toml")| Format | Extension | Description |
|---|---|---|
| JSON | .json |
JavaScript Object Notation |
| YAML | .yaml, .yml |
YAML Ain't Markup Language |
| TOML | .toml |
Tom's Obvious Minimal Language |
| Pickle | .pkl, .pickle |
Python object serialization |
| MessagePack | .msgpack, .mp |
Binary JSON alternative |
- Python standard library (
json,pickle) pyyaml- YAML supporttoml- TOML support (optional)msgpack- MessagePack support (optional)codomyrmex.logging_monitoringfor loggingcodomyrmex.exceptionsfor error handling
config_management- Configuration filesdocuments- Document handlingcache- Cache serialization
- Human Documentation: README.md
- Technical Documentation: AGENTS.md
- Functional Specification: SPEC.md
- Parent: codomyrmex