Skip to main content

Yet another serialization library on top of dataclasses

Project description

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 (emoji key):

yukinarit
yukinarit

💻
Alexander Miskaryan
Alexander Miskaryan

💻
ydylla
ydylla

💻
Kevin Squire
Kevin Squire

💻 📖
Yushi OMOTE
Yushi OMOTE

💻
Yuji Kanagawa
Yuji Kanagawa

💻
Weiliang Li
Weiliang Li

💻
Mauve
Mauve

💻
adsharma
adsharma

💻
Guilhem C.
Guilhem C.

📖
Pierre Tardy
Pierre Tardy

💻
Raphael Nestler
Raphael Nestler

📖
Pranav V P
Pranav V P

💻
andreymal
andreymal

💻
Johann Fuechsl
Johann Fuechsl

💻
DoeringChristian
DoeringChristian

💻
Stuart Axelbrooke
Stuart Axelbrooke

💻
Jakub Beránek
Jakub Beránek

💻
Fredrik Reinholdsen
Fredrik Reinholdsen

💻
Bruno Oliveira
Bruno Oliveira

📖
Kyle Kosic
Kyle Kosic

💻
Gajo Petrovic
Gajo Petrovic

📖
m472
m472

💻
acolley-gel
acolley-gel

💻
Marc-André Allaire
Marc-André Allaire

💻
Ganden Schaffner
Ganden Schaffner

💻
Dave Tapley
Dave Tapley

💻
Beartama
Beartama

💻
Rachael Sexton
Rachael Sexton

💻
JWSong
JWSong

💻
Emanuele Barsanti
Emanuele Barsanti

💻
Aman Clement Aranha
Aman Clement Aranha

📖
𝕂'
𝕂'

📖
Add your contributions

This project follows the all-contributors specification. Contributions of any kind welcome!

LICENSE

This project is licensed under the MIT license.

Project details


Release history Release notifications | RSS feed

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.22.2.tar.gz (43.7 kB view details)

Uploaded Source

Built Distribution

pyserde-0.22.2-py3-none-any.whl (45.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pyserde-0.22.2.tar.gz
  • Upload date:
  • Size: 43.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.10.12 Linux/6.5.0-1025-azure

File hashes

Hashes for pyserde-0.22.2.tar.gz
Algorithm Hash digest
SHA256 b9972707cb7bbcfa1f960b8a3589cc7035d522c4c6d6675fb7ebbb0ca7668469
MD5 353ea8bf1c3143d9254bf4abe0d345cf
BLAKE2b-256 3adab919339182406b2b02b306b84607cda5a0cfa304deed64b1d88043b45d1a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pyserde-0.22.2-py3-none-any.whl
  • Upload date:
  • Size: 45.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.10.12 Linux/6.5.0-1025-azure

File hashes

Hashes for pyserde-0.22.2-py3-none-any.whl
Algorithm Hash digest
SHA256 19875810db90782e968fbdf0ef2846f751eb456db1d289e927fc0e88053a7958
MD5 71ed5b614d0e5d3f6c4a73db27ab8e3b
BLAKE2b-256 306cd56ebfce94fc0b75df37c95de636d0567db26c77d8c551ec930f23aa3254

See more details on using hashes here.

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