Serialite
Serialite is a library serializing and deserializing arbitrarily complex objects in Python. You
apply the @serializable decorator to a dataclass to automatically create to_data and from_data
methods using the type annotations. Or for more control, inherit from the SerializableMixin and
implement the class attribute __fields_serializer__. For even more control, inherit from the
abstract base class Serializer and implement the to_data and from_data methods directly.
Basics
The abstract base class is Serializer:
class Serializer(Generic[Output]):
def from_data(self, data: Json) -> DeserializationSuccess[Output]: ...
def to_data(self, value: Output) -> Json: ...
The class is generic in the type of the object that it serializes. The two abstract methods
from_data and to_data are the key to the whole design, which revolves around getting objects to
and from JSON-serializable data, which are objects constructed entirely of bools, ints,
floats, lists, and dicts. Such structures can be consumed by json.dumps to produce a string
and produced by json.loads after consuming a string. By basing the serialization around JSON
serializable data, complex structures can be built up or torn down piece by piece while
alternatively building up complex error messages during deserialization which pinpoint the location
in the structure where the bad data exist.
For new classes, it is recommended that the Serializer be implemented on the class itself. There is
an abstract base class Serializable that classes can inherit from to indicate this. There is a mixin
SerializableMixin that provides an implementation of from_data and to_data for any class that
implements the __fields_serializer class attribute.
For dataclasses, it is even easier. There is a decorator serializable that inserts
SerializableMixin into the list of base classes after the dataclass decorator has run and also
generates __fields_serializer__ from the data class attributes.
Finding the correct serializer for each type can be a pain, so
serializer(cls: type) -> Serializer is provided as a convenience function. This is a single
dispatch function, which looks up the serializer registered for a particular type. For example,
serializer(list[float]) will return ListSerializer(FloatSerializer).
Metadata
Release files for serialite 0.6.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| serialite-0.6.4.tar.gz | 26.2 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| serialite-0.6.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 68.2 kB
Release files / serialite-0.6.4.tar.gz
| Download URL | serialite-0.6.4.tar.gz |
|---|---|
| Size | 26.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
06059e4aa1313cf98acbe057ce3658ccdee379541804c333413a5fab2ed15578
|
|
BLAKE2b-256 checksum How to use checksums |
b4b47604a713c56c0e54d77237960b0ba3a8e0dd5bb3356ad97c175a72d4c58f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 2, 2026.
Transparency logRelease files / serialite-0.6.4-py3-none-any.whl
| Download URL | serialite-0.6.4-py3-none-any.whl |
|---|---|
| Size | 42.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
871bb35c823e31360da277fc516269c6214e664075e53fbdfa0646515ba711f9
|
|
BLAKE2b-256 checksum How to use checksums |
1fae6494baaf59088c790ebd6a06993714c28c6a5839e36731fe3717d57a0a09
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 2, 2026.
Transparency logSecurity for serialite 0.6.4
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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for serialite-0.6.4.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 2, 2026.
Transparency logA 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.