Skip to main content

pyserde

Yet another serialization library on top of dataclasses, inspired by serde-rs.

pypi pypi GithubActions CodeCov

Guide🇬🇧 | ガイド🇯🇵 | API Reference | Examples

Overview

pyserde is a simple yet powerful serialization library on top of dataclasses. It allows you to convert Python objects to and from JSON, YAML, and other formats easily and efficiently.

Declare your class with @serde decorator and annotate fields using PEP484 as below.

@serde
class Foo:
    i: int
    s: str
    f: float
    b: bool

You can serialize Foo object into JSON.

>>> to_json(Foo(i=10, s='foo', f=100.0, b=True))
'{"i":10,"s":"foo","f":100.0,"b":true}'

You can deserialize JSON into Foo object.

>>> from_json(Foo, '{"i": 10, "s": "foo", "f": 100.0, "b": true}')
Foo(i=10, s='foo', f=100.0, b=True)

That's it! If you're interested in pyserde, please check our documentation! Happy coding with pyserde! 🚀

Features

Extensions

Contributors ✨

Thanks goes to these wonderful people:

Made with contrib.rocks.

LICENSE

This project is licensed under the MIT license.

Download files

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

Source Distribution

pyserde-0.31.7.tar.gz (525.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyserde-0.31.7-py3-none-any.whl (52.3 kB view details)

Uploaded Python 3

File details

Details for the file pyserde-0.31.7.tar.gz.

File metadata

  • Download URL: pyserde-0.31.7.tar.gz
  • Upload date:
  • Size: 525.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pyserde-0.31.7.tar.gz
Algorithm Hash digest
SHA256 a9ec2a5a61930b6fee4498adda20067eab516798e5a0348da7797778d8b02fb6
MD5 e18a288e9e43f1a140ee03e76a93f440
BLAKE2b-256 840b4f92e27cb1ff15a820edc7b06b51bba4ef0d95bbf09522a72730cc7ffd51

See more details on using hashes here.

File details

Details for the file pyserde-0.31.7-py3-none-any.whl.

File metadata

  • Download URL: pyserde-0.31.7-py3-none-any.whl
  • Upload date:
  • Size: 52.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pyserde-0.31.7-py3-none-any.whl
Algorithm Hash digest
SHA256 5e72d5c2054d681b4aad712a40322fa2236ca5c181377daed4dbb4ec51a22ebb
MD5 5d6804d3eb54deacd8de23781856bec8
BLAKE2b-256 279c055c3fb933119186541240e062973b44932fc10295965edac08c57bc5946

See more details on using hashes here.

Release history Release notifications | RSS feed

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page