Skip to main content

Define, serialize, deserialize, and validate Python data structures.

Project description

PyPI Version Documentation Status Build Status Code Coverage

Serde is a lightweight, general-purpose, powerful ORM framework for defining, serializing, deserializing, and validating data structures in Python.

Getting started

Install this package with

pip install serde

Example usage

Define your data structures in a clean and obvious way.

>>> from serde import Model, fields

>>> class Dog(Model):
...     name = fields.Str()
...     hates_cats = fields.Optional(fields.Bool, default=True)

>>> class Owner(Model):
...     name = fields.Str()
...     birthday = fields.Date()
...     dog = fields.Nested(Dog)

Easily serialize and deserialize arbitrary data to and from Python objects.

>>> owner = Owner.from_json('''{
...     "name": "Paris Hilton",
...     "birthday": "1981-02-17",
...     "dog": {"name": "Tinkerbell"}
... }''')

>>> owner.name
'Paris Hilton'
>>> owner.birthday
datetime.date(1981, 2, 17)
>>> owner.dog
Dog(name='Tinkerbell', hates_cats=True)

View the latest usage and API documentation here.

License

This project is licensed under the MIT License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

serde-0.6.0.tar.gz (22.0 kB view hashes)

Uploaded Source

Built Distribution

serde-0.6.0-py2.py3-none-any.whl (23.2 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page