pyserde


Namepyserde JSON
Version 0.22.2 PyPI version JSON
download
home_pagehttps://github.com/yukinarit/pyserde
SummaryYet another serialization library on top of dataclasses
upload_time2024-11-17 11:36:12
maintainerNone
docs_urlNone
authoryukinarit
requires_python<4.0.0,>=3.9.0
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            <h1 align="center"><code>pyserde</code></h1>
<p align="center">Yet another serialization library on top of <a href="https://docs.python.org/3/library/dataclasses.html">dataclasses</a>, inspired by <a href="https://github.com/serde-rs/serde">serde-rs</a>.</p>
<p align="center">
  <a href="https://pypi.org/project/pyserde/">
    <img alt="pypi" src="https://img.shields.io/pypi/v/pyserde.svg">
  </a>
  <a href="https://pypi.org/project/pyserde/">
    <img alt="pypi" src="https://img.shields.io/pypi/pyversions/pyserde.svg">
  </a>
  <a href="https://github.com/yukinarit/pyserde/actions/workflows/test.yml">
    <img alt="GithubActions" src="https://github.com/yukinarit/pyserde/actions/workflows/test.yml/badge.svg">
  </a>
  <a href="https://codecov.io/gh/yukinarit/pyserde">
    <img alt="CodeCov" src="https://codecov.io/gh/yukinarit/pyserde/branch/main/graph/badge.svg">
  </a>
</p>
<p align="center">
  <a href="https://yukinarit.github.io/pyserde/guide/en">GuideπŸ‡¬πŸ‡§</a> | <a href="https://yukinarit.github.io/pyserde/guide/ja">γ‚¬γ‚€γƒ‰πŸ‡―πŸ‡΅</a> | <a href="https://yukinarit.github.io/pyserde/api/serde.html">API Reference</a> | <a href="https://github.com/yukinarit/pyserde/tree/main/examples">Examples</a>
</p>

## Overview

`pyserde` is a simple yet powerful serialization library on top of [dataclasses](https://docs.python.org/3/library/dataclasses.html). 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](https://peps.python.org/pep-0484/) as below.

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

You can serialize `Foo` object into JSON.

```python
>>> 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.
```python
>>> 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! πŸš€
* [Getting started](https://yukinarit.github.io/pyserde/guide/en/getting-started.html)
* [API Reference](https://yukinarit.github.io/pyserde/api/serde.html)
* [Examples](https://github.com/yukinarit/pyserde/tree/main/examples)

## Features

- Supported data formats
    - dict
    - tuple
    - JSON
	- Yaml
	- Toml
	- MsgPack
    - Pickle
- Supported types
    - Primitives (`int`, `float`, `str`, `bool`)
    - Containers
        - `list`, `set`, `tuple`, `dict`
        - [`frozenset`](https://docs.python.org/3/library/stdtypes.html#frozenset), [`defaultdict`](https://docs.python.org/3/library/collections.html#collections.defaultdict)
    - [`typing.Optional`](https://docs.python.org/3/library/typing.html#typing.Optional)
    - [`typing.Union`](https://docs.python.org/3/library/typing.html#typing.Union)
    - User defined class with [`@dataclass`](https://docs.python.org/3/library/dataclasses.html)
    - [`typing.NewType`](https://docs.python.org/3/library/typing.html#newtype) for primitive types
    - [`typing.Any`](https://docs.python.org/3/library/typing.html#the-any-type)
    - [`typing.Literal`](https://docs.python.org/3/library/typing.html#typing.Literal)
    - [`typing.Generic`](https://docs.python.org/3/library/typing.html#user-defined-generic-types)
    - [`typing.ClassVar`](https://docs.python.org/3/library/typing.html#typing.ClassVar)
    - [`dataclasses.InitVar`](https://docs.python.org/3/library/dataclasses.html#init-only-variables)
    - [`Enum`](https://docs.python.org/3/library/enum.html#enum.Enum) and [`IntEnum`](https://docs.python.org/3/library/enum.html#enum.IntEnum)
    - Standard library
        - [`pathlib.Path`](https://docs.python.org/3/library/pathlib.html)
        - [`decimal.Decimal`](https://docs.python.org/3/library/decimal.html)
        - [`uuid.UUID`](https://docs.python.org/3/library/uuid.html)
        - [`datetime.date`](https://docs.python.org/3/library/datetime.html#date-objects), [`datetime.time`](https://docs.python.org/3/library/datetime.html#time-objects), [`datetime.datetime`](https://docs.python.org/3/library/datetime.html#datetime-objects)
        - [`ipaddress`](https://docs.python.org/3/library/ipaddress.html)
    - PyPI library
        - [`numpy`](https://github.com/numpy/numpy) types
        - [`SQLAlchemy`](https://github.com/sqlalchemy/sqlalchemy) Declarative Dataclass Mapping (experimental)
- [Class Attributes](https://github.com/yukinarit/pyserde/blob/main/docs/en/class-attributes.md)
- [Field Attributes](https://github.com/yukinarit/pyserde/blob/main/docs/en/field-attributes.md)
- [Decorators](https://github.com/yukinarit/pyserde/blob/main/docs/en/decorators.md)
- [Type Check](https://github.com/yukinarit/pyserde/blob/main/docs/en/type-check.md)
- [Union Representation](https://github.com/yukinarit/pyserde/blob/main/docs/en/union.md)
- [Forward reference](https://github.com/yukinarit/pyserde/blob/main/docs/en/decorators.md#how-can-i-use-forward-references)
- [PEP563 Postponed Evaluation of Annotations](https://github.com/yukinarit/pyserde/blob/main/docs/en/decorators.md#pep563-postponed-evaluation-of-annotations)
- [PEP585 Type Hinting Generics In Standard Collections](https://github.com/yukinarit/pyserde/blob/main/docs/en/getting-started.md#pep585-and-pep604)
- [PEP604 Allow writing union types as X | Y](https://github.com/yukinarit/pyserde/blob/main/docs/en/getting-started.md#pep585-and-pep604)
- [PEP681 Data Class Transform](https://github.com/yukinarit/pyserde/blob/main/docs/en/decorators.md#serde)
- [Case Conversion](https://github.com/yukinarit/pyserde/blob/main/docs/en/class-attributes.md#rename_all)
- [Rename](https://github.com/yukinarit/pyserde/blob/main/docs/en/field-attributes.md#rename)
- [Alias](https://github.com/yukinarit/pyserde/blob/main/docs/en/field-attributes.md#alias)
- Skip (de)serialization ([skip](https://github.com/yukinarit/pyserde/blob/main/docs/en/field-attributes.md#skip), [skip_if](https://github.com/yukinarit/pyserde/blob/main/docs/en/field-attributes.md#skip_if), [skip_if_false](https://github.com/yukinarit/pyserde/blob/main/docs/en/field-attributes.md#skip_if_false), [skip_if_default](https://github.com/yukinarit/pyserde/blob/main/docs/en/field-attributes.md#skip_if_default))
- [Custom field (de)serializer](https://github.com/yukinarit/pyserde/blob/main/docs/en/field-attributes.md#serializerdeserializer)
- [Custom class (de)serializer](https://github.com/yukinarit/pyserde/blob/main/docs/en/class-attributes.md#class_serializer--class_deserializer)
- [Custom global (de)serializer](https://github.com/yukinarit/pyserde/blob/main/docs/en/extension.md#custom-global-deserializer)
- [Flatten](https://github.com/yukinarit/pyserde/blob/main/docs/en/field-attributes.md#flatten)

## Extensions

* [pyserde-timedelta](https://github.com/yukinarit/pyserde-timedelta): (de)serializing datetime.timedelta in ISO 8601 duration format.

## Contributors ✨

Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):

<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
  <tbody>
    <tr>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/yukinarit"><img src="https://avatars.githubusercontent.com/u/2347533?v=4?s=60" width="60px;" alt="yukinarit"/><br /><sub><b>yukinarit</b></sub></a><br /><a href="https://github.com/yukinarit/pyserde/commits?author=yukinarit" title="Code">πŸ’»</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/alexmisk"><img src="https://avatars.githubusercontent.com/u/4103218?v=4?s=60" width="60px;" alt="Alexander Miskaryan"/><br /><sub><b>Alexander Miskaryan</b></sub></a><br /><a href="https://github.com/yukinarit/pyserde/commits?author=alexmisk" title="Code">πŸ’»</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/ydylla"><img src="https://avatars.githubusercontent.com/u/17772145?v=4?s=60" width="60px;" alt="ydylla"/><br /><sub><b>ydylla</b></sub></a><br /><a href="https://github.com/yukinarit/pyserde/commits?author=ydylla" title="Code">πŸ’»</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/kmsquire"><img src="https://avatars.githubusercontent.com/u/223250?v=4?s=60" width="60px;" alt="Kevin Squire"/><br /><sub><b>Kevin Squire</b></sub></a><br /><a href="https://github.com/yukinarit/pyserde/commits?author=kmsquire" title="Code">πŸ’»</a> <a href="https://github.com/yukinarit/pyserde/commits?author=kmsquire" title="Documentation">πŸ“–</a></td>
      <td align="center" valign="top" width="14.28%"><a href="http://yushiomote.org/"><img src="https://avatars.githubusercontent.com/u/3733915?v=4?s=60" width="60px;" alt="Yushi OMOTE"/><br /><sub><b>Yushi OMOTE</b></sub></a><br /><a href="https://github.com/yukinarit/pyserde/commits?author=YushiOMOTE" title="Code">πŸ’»</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://kngwyu.github.io/"><img src="https://avatars.githubusercontent.com/u/16046705?v=4?s=60" width="60px;" alt="Yuji Kanagawa"/><br /><sub><b>Yuji Kanagawa</b></sub></a><br /><a href="https://github.com/yukinarit/pyserde/commits?author=kngwyu" title="Code">πŸ’»</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://kigawas.me/"><img src="https://avatars.githubusercontent.com/u/4182346?v=4?s=60" width="60px;" alt="Weiliang Li"/><br /><sub><b>Weiliang Li</b></sub></a><br /><a href="https://github.com/yukinarit/pyserde/commits?author=kigawas" title="Code">πŸ’»</a></td>
    </tr>
    <tr>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/mauvealerts"><img src="https://avatars.githubusercontent.com/u/51870303?v=4?s=60" width="60px;" alt="Mauve"/><br /><sub><b>Mauve</b></sub></a><br /><a href="https://github.com/yukinarit/pyserde/commits?author=mauvealerts" title="Code">πŸ’»</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/adsharma"><img src="https://avatars.githubusercontent.com/u/658691?v=4?s=60" width="60px;" alt="adsharma"/><br /><sub><b>adsharma</b></sub></a><br /><a href="https://github.com/yukinarit/pyserde/commits?author=adsharma" title="Code">πŸ’»</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/chagui"><img src="https://avatars.githubusercontent.com/u/1234128?v=4?s=60" width="60px;" alt="Guilhem C."/><br /><sub><b>Guilhem C.</b></sub></a><br /><a href="https://github.com/yukinarit/pyserde/commits?author=chagui" title="Documentation">πŸ“–</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/tardyp"><img src="https://avatars.githubusercontent.com/u/109859?v=4?s=60" width="60px;" alt="Pierre Tardy"/><br /><sub><b>Pierre Tardy</b></sub></a><br /><a href="https://github.com/yukinarit/pyserde/commits?author=tardyp" title="Code">πŸ’»</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://blog.rnstlr.ch/"><img src="https://avatars.githubusercontent.com/u/1435346?v=4?s=60" width="60px;" alt="Raphael Nestler"/><br /><sub><b>Raphael Nestler</b></sub></a><br /><a href="https://github.com/yukinarit/pyserde/commits?author=rnestler" title="Documentation">πŸ“–</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://pranavvp10.github.io/"><img src="https://avatars.githubusercontent.com/u/52486224?v=4?s=60" width="60px;" alt="Pranav V P"/><br /><sub><b>Pranav V P</b></sub></a><br /><a href="https://github.com/yukinarit/pyserde/commits?author=pranavvp10" title="Code">πŸ’»</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://andreymal.org/"><img src="https://avatars.githubusercontent.com/u/3236464?v=4?s=60" width="60px;" alt="andreymal"/><br /><sub><b>andreymal</b></sub></a><br /><a href="https://github.com/yukinarit/pyserde/commits?author=andreymal" title="Code">πŸ’»</a></td>
    </tr>
    <tr>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/jfuechsl"><img src="https://avatars.githubusercontent.com/u/1097068?v=4?s=60" width="60px;" alt="Johann Fuechsl"/><br /><sub><b>Johann Fuechsl</b></sub></a><br /><a href="https://github.com/yukinarit/pyserde/commits?author=jfuechsl" title="Code">πŸ’»</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/DoeringChristian"><img src="https://avatars.githubusercontent.com/u/23581448?v=4?s=60" width="60px;" alt="DoeringChristian"/><br /><sub><b>DoeringChristian</b></sub></a><br /><a href="https://github.com/yukinarit/pyserde/commits?author=DoeringChristian" title="Code">πŸ’»</a></td>
      <td align="center" valign="top" width="14.28%"><a href="http://stuart.axelbrooke.com/"><img src="https://avatars.githubusercontent.com/u/2815794?v=4?s=60" width="60px;" alt="Stuart Axelbrooke"/><br /><sub><b>Stuart Axelbrooke</b></sub></a><br /><a href="https://github.com/yukinarit/pyserde/commits?author=soaxelbrooke" title="Code">πŸ’»</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://kobzol.github.io/"><img src="https://avatars.githubusercontent.com/u/4539057?v=4?s=60" width="60px;" alt="Jakub BerΓ‘nek"/><br /><sub><b>Jakub BerΓ‘nek</b></sub></a><br /><a href="https://github.com/yukinarit/pyserde/commits?author=Kobzol" title="Code">πŸ’»</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/Fredrik-Reinholdsen"><img src="https://avatars.githubusercontent.com/u/11893023?v=4?s=60" width="60px;" alt="Fredrik Reinholdsen"/><br /><sub><b>Fredrik Reinholdsen</b></sub></a><br /><a href="https://github.com/yukinarit/pyserde/commits?author=Fredrik-Reinholdsen" title="Code">πŸ’»</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://www.patreon.com/nicoddemus"><img src="https://avatars.githubusercontent.com/u/1085180?v=4?s=60" width="60px;" alt="Bruno Oliveira"/><br /><sub><b>Bruno Oliveira</b></sub></a><br /><a href="https://github.com/yukinarit/pyserde/commits?author=nicoddemus" title="Documentation">πŸ“–</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://kylekosic.dev/"><img src="https://avatars.githubusercontent.com/u/23020003?v=4?s=60" width="60px;" alt="Kyle Kosic"/><br /><sub><b>Kyle Kosic</b></sub></a><br /><a href="https://github.com/yukinarit/pyserde/commits?author=kykosic" title="Code">πŸ’»</a></td>
    </tr>
    <tr>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/gpetrovic-meltin"><img src="https://avatars.githubusercontent.com/u/72957645?v=4?s=60" width="60px;" alt="Gajo Petrovic"/><br /><sub><b>Gajo Petrovic</b></sub></a><br /><a href="https://github.com/yukinarit/pyserde/commits?author=gpetrovic-meltin" title="Documentation">πŸ“–</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/m472"><img src="https://avatars.githubusercontent.com/u/6155240?v=4?s=60" width="60px;" alt="m472"/><br /><sub><b>m472</b></sub></a><br /><a href="https://github.com/yukinarit/pyserde/commits?author=m472" title="Code">πŸ’»</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/acolley-gel"><img src="https://avatars.githubusercontent.com/u/90254318?v=4?s=60" width="60px;" alt="acolley-gel"/><br /><sub><b>acolley-gel</b></sub></a><br /><a href="https://github.com/yukinarit/pyserde/commits?author=acolley-gel" title="Code">πŸ’»</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/maallaire"><img src="https://avatars.githubusercontent.com/u/38792535?v=4?s=60" width="60px;" alt="Marc-AndrΓ© Allaire"/><br /><sub><b>Marc-AndrΓ© Allaire</b></sub></a><br /><a href="https://github.com/yukinarit/pyserde/commits?author=maallaire" title="Code">πŸ’»</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/gschaffner"><img src="https://avatars.githubusercontent.com/u/11418203?v=4?s=60" width="60px;" alt="Ganden Schaffner"/><br /><sub><b>Ganden Schaffner</b></sub></a><br /><a href="https://github.com/yukinarit/pyserde/commits?author=gschaffner" title="Code">πŸ’»</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/davetapley"><img src="https://avatars.githubusercontent.com/u/48232?v=4?s=60" width="60px;" alt="Dave Tapley"/><br /><sub><b>Dave Tapley</b></sub></a><br /><a href="https://github.com/yukinarit/pyserde/commits?author=davetapley" title="Code">πŸ’»</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/uyha"><img src="https://avatars.githubusercontent.com/u/8091245?v=4?s=60" width="60px;" alt="Beartama"/><br /><sub><b>Beartama</b></sub></a><br /><a href="https://github.com/yukinarit/pyserde/commits?author=uyha" title="Code">πŸ’»</a></td>
    </tr>
    <tr>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/rtbs-dev"><img src="https://avatars.githubusercontent.com/u/12550525?v=4?s=60" width="60px;" alt="Rachael Sexton"/><br /><sub><b>Rachael Sexton</b></sub></a><br /><a href="https://github.com/yukinarit/pyserde/commits?author=rtbs-dev" title="Code">πŸ’»</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://github.com/JWSong"><img src="https://avatars.githubusercontent.com/u/4515331?v=4?s=60" width="60px;" alt="JWSong"/><br /><sub><b>JWSong</b></sub></a><br /><a href="https://github.com/yukinarit/pyserde/commits?author=JWSong" title="Code">πŸ’»</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://www.mechanicus.it/"><img src="https://avatars.githubusercontent.com/u/13484760?v=4?s=60" width="60px;" alt="Emanuele Barsanti"/><br /><sub><b>Emanuele Barsanti</b></sub></a><br /><a href="https://github.com/yukinarit/pyserde/commits?author=barsa-net" title="Code">πŸ’»</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://aman-clement-aranha.vercel.app/"><img src="https://avatars.githubusercontent.com/u/90409059?v=4?s=60" width="60px;" alt="Aman Clement Aranha"/><br /><sub><b>Aman Clement Aranha</b></sub></a><br /><a href="https://github.com/yukinarit/pyserde/commits?author=Aman-Clement" title="Documentation">πŸ“–</a></td>
      <td align="center" valign="top" width="14.28%"><a href="https://qiita.com/inetcpl"><img src="https://avatars.githubusercontent.com/u/51281148?v=4?s=60" width="60px;" alt="𝕂'"/><br /><sub><b>𝕂'</b></sub></a><br /><a href="https://github.com/yukinarit/pyserde/commits?author=K-dash" title="Documentation">πŸ“–</a></td>
    </tr>
  </tbody>
  <tfoot>
    <tr>
      <td align="center" size="13px" colspan="7">
        <img src="https://raw.githubusercontent.com/all-contributors/all-contributors-cli/1b8533af435da9854653492b1327a23a4dbd0a10/assets/logo-small.svg">
          <a href="https://all-contributors.js.org/docs/en/bot/usage">Add your contributions</a>
        </img>
      </td>
    </tr>
  </tfoot>
</table>

<!-- markdownlint-restore -->
<!-- prettier-ignore-end -->

<!-- ALL-CONTRIBUTORS-LIST:END -->

This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!

## LICENSE

This project is licensed under the [MIT license](https://github.com/yukinarit/pyserde/blob/main/LICENSE).

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/yukinarit/pyserde",
    "name": "pyserde",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0.0,>=3.9.0",
    "maintainer_email": null,
    "keywords": null,
    "author": "yukinarit",
    "author_email": "yukinarit84@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/3a/da/b919339182406b2b02b306b84607cda5a0cfa304deed64b1d88043b45d1a/pyserde-0.22.2.tar.gz",
    "platform": null,
    "description": "<h1 align=\"center\"><code>pyserde</code></h1>\n<p align=\"center\">Yet another serialization library on top of <a href=\"https://docs.python.org/3/library/dataclasses.html\">dataclasses</a>, inspired by <a href=\"https://github.com/serde-rs/serde\">serde-rs</a>.</p>\n<p align=\"center\">\n  <a href=\"https://pypi.org/project/pyserde/\">\n    <img alt=\"pypi\" src=\"https://img.shields.io/pypi/v/pyserde.svg\">\n  </a>\n  <a href=\"https://pypi.org/project/pyserde/\">\n    <img alt=\"pypi\" src=\"https://img.shields.io/pypi/pyversions/pyserde.svg\">\n  </a>\n  <a href=\"https://github.com/yukinarit/pyserde/actions/workflows/test.yml\">\n    <img alt=\"GithubActions\" src=\"https://github.com/yukinarit/pyserde/actions/workflows/test.yml/badge.svg\">\n  </a>\n  <a href=\"https://codecov.io/gh/yukinarit/pyserde\">\n    <img alt=\"CodeCov\" src=\"https://codecov.io/gh/yukinarit/pyserde/branch/main/graph/badge.svg\">\n  </a>\n</p>\n<p align=\"center\">\n  <a href=\"https://yukinarit.github.io/pyserde/guide/en\">Guide\ud83c\uddec\ud83c\udde7</a> | <a href=\"https://yukinarit.github.io/pyserde/guide/ja\">\u30ac\u30a4\u30c9\ud83c\uddef\ud83c\uddf5</a> | <a href=\"https://yukinarit.github.io/pyserde/api/serde.html\">API Reference</a> | <a href=\"https://github.com/yukinarit/pyserde/tree/main/examples\">Examples</a>\n</p>\n\n## Overview\n\n`pyserde` is a simple yet powerful serialization library on top of [dataclasses](https://docs.python.org/3/library/dataclasses.html). It allows you to convert Python objects to and from JSON, YAML, and other formats easily and efficiently.\n\nDeclare your class with `@serde` decorator and annotate fields using [PEP484](https://peps.python.org/pep-0484/) as below.\n\n```python\n@serde\nclass Foo:\n    i: int\n    s: str\n    f: float\n    b: bool\n```\n\nYou can serialize `Foo` object into JSON.\n\n```python\n>>> to_json(Foo(i=10, s='foo', f=100.0, b=True))\n'{\"i\":10,\"s\":\"foo\",\"f\":100.0,\"b\":true}'\n```\n\nYou can deserialize JSON into `Foo` object.\n```python\n>>> from_json(Foo, '{\"i\": 10, \"s\": \"foo\", \"f\": 100.0, \"b\": true}')\nFoo(i=10, s='foo', f=100.0, b=True)\n```\n\nThat's it!  If you're interested in pyserde, please check our documentation!\nHappy coding with pyserde! \ud83d\ude80\n* [Getting started](https://yukinarit.github.io/pyserde/guide/en/getting-started.html)\n* [API Reference](https://yukinarit.github.io/pyserde/api/serde.html)\n* [Examples](https://github.com/yukinarit/pyserde/tree/main/examples)\n\n## Features\n\n- Supported data formats\n    - dict\n    - tuple\n    - JSON\n\t- Yaml\n\t- Toml\n\t- MsgPack\n    - Pickle\n- Supported types\n    - Primitives (`int`, `float`, `str`, `bool`)\n    - Containers\n        - `list`, `set`, `tuple`, `dict`\n        - [`frozenset`](https://docs.python.org/3/library/stdtypes.html#frozenset), [`defaultdict`](https://docs.python.org/3/library/collections.html#collections.defaultdict)\n    - [`typing.Optional`](https://docs.python.org/3/library/typing.html#typing.Optional)\n    - [`typing.Union`](https://docs.python.org/3/library/typing.html#typing.Union)\n    - User defined class with [`@dataclass`](https://docs.python.org/3/library/dataclasses.html)\n    - [`typing.NewType`](https://docs.python.org/3/library/typing.html#newtype) for primitive types\n    - [`typing.Any`](https://docs.python.org/3/library/typing.html#the-any-type)\n    - [`typing.Literal`](https://docs.python.org/3/library/typing.html#typing.Literal)\n    - [`typing.Generic`](https://docs.python.org/3/library/typing.html#user-defined-generic-types)\n    - [`typing.ClassVar`](https://docs.python.org/3/library/typing.html#typing.ClassVar)\n    - [`dataclasses.InitVar`](https://docs.python.org/3/library/dataclasses.html#init-only-variables)\n    - [`Enum`](https://docs.python.org/3/library/enum.html#enum.Enum) and [`IntEnum`](https://docs.python.org/3/library/enum.html#enum.IntEnum)\n    - Standard library\n        - [`pathlib.Path`](https://docs.python.org/3/library/pathlib.html)\n        - [`decimal.Decimal`](https://docs.python.org/3/library/decimal.html)\n        - [`uuid.UUID`](https://docs.python.org/3/library/uuid.html)\n        - [`datetime.date`](https://docs.python.org/3/library/datetime.html#date-objects), [`datetime.time`](https://docs.python.org/3/library/datetime.html#time-objects), [`datetime.datetime`](https://docs.python.org/3/library/datetime.html#datetime-objects)\n        - [`ipaddress`](https://docs.python.org/3/library/ipaddress.html)\n    - PyPI library\n        - [`numpy`](https://github.com/numpy/numpy) types\n        - [`SQLAlchemy`](https://github.com/sqlalchemy/sqlalchemy) Declarative Dataclass Mapping (experimental)\n- [Class Attributes](https://github.com/yukinarit/pyserde/blob/main/docs/en/class-attributes.md)\n- [Field Attributes](https://github.com/yukinarit/pyserde/blob/main/docs/en/field-attributes.md)\n- [Decorators](https://github.com/yukinarit/pyserde/blob/main/docs/en/decorators.md)\n- [Type Check](https://github.com/yukinarit/pyserde/blob/main/docs/en/type-check.md)\n- [Union Representation](https://github.com/yukinarit/pyserde/blob/main/docs/en/union.md)\n- [Forward reference](https://github.com/yukinarit/pyserde/blob/main/docs/en/decorators.md#how-can-i-use-forward-references)\n- [PEP563 Postponed Evaluation of Annotations](https://github.com/yukinarit/pyserde/blob/main/docs/en/decorators.md#pep563-postponed-evaluation-of-annotations)\n- [PEP585 Type Hinting Generics In Standard Collections](https://github.com/yukinarit/pyserde/blob/main/docs/en/getting-started.md#pep585-and-pep604)\n- [PEP604 Allow writing union types as X | Y](https://github.com/yukinarit/pyserde/blob/main/docs/en/getting-started.md#pep585-and-pep604)\n- [PEP681 Data Class Transform](https://github.com/yukinarit/pyserde/blob/main/docs/en/decorators.md#serde)\n- [Case Conversion](https://github.com/yukinarit/pyserde/blob/main/docs/en/class-attributes.md#rename_all)\n- [Rename](https://github.com/yukinarit/pyserde/blob/main/docs/en/field-attributes.md#rename)\n- [Alias](https://github.com/yukinarit/pyserde/blob/main/docs/en/field-attributes.md#alias)\n- Skip (de)serialization ([skip](https://github.com/yukinarit/pyserde/blob/main/docs/en/field-attributes.md#skip), [skip_if](https://github.com/yukinarit/pyserde/blob/main/docs/en/field-attributes.md#skip_if), [skip_if_false](https://github.com/yukinarit/pyserde/blob/main/docs/en/field-attributes.md#skip_if_false), [skip_if_default](https://github.com/yukinarit/pyserde/blob/main/docs/en/field-attributes.md#skip_if_default))\n- [Custom field (de)serializer](https://github.com/yukinarit/pyserde/blob/main/docs/en/field-attributes.md#serializerdeserializer)\n- [Custom class (de)serializer](https://github.com/yukinarit/pyserde/blob/main/docs/en/class-attributes.md#class_serializer--class_deserializer)\n- [Custom global (de)serializer](https://github.com/yukinarit/pyserde/blob/main/docs/en/extension.md#custom-global-deserializer)\n- [Flatten](https://github.com/yukinarit/pyserde/blob/main/docs/en/field-attributes.md#flatten)\n\n## Extensions\n\n* [pyserde-timedelta](https://github.com/yukinarit/pyserde-timedelta): (de)serializing datetime.timedelta in ISO 8601 duration format.\n\n## Contributors \u2728\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->\n<!-- prettier-ignore-start -->\n<!-- markdownlint-disable -->\n<table>\n  <tbody>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/yukinarit\"><img src=\"https://avatars.githubusercontent.com/u/2347533?v=4?s=60\" width=\"60px;\" alt=\"yukinarit\"/><br /><sub><b>yukinarit</b></sub></a><br /><a href=\"https://github.com/yukinarit/pyserde/commits?author=yukinarit\" title=\"Code\">\ud83d\udcbb</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/alexmisk\"><img src=\"https://avatars.githubusercontent.com/u/4103218?v=4?s=60\" width=\"60px;\" alt=\"Alexander Miskaryan\"/><br /><sub><b>Alexander Miskaryan</b></sub></a><br /><a href=\"https://github.com/yukinarit/pyserde/commits?author=alexmisk\" title=\"Code\">\ud83d\udcbb</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/ydylla\"><img src=\"https://avatars.githubusercontent.com/u/17772145?v=4?s=60\" width=\"60px;\" alt=\"ydylla\"/><br /><sub><b>ydylla</b></sub></a><br /><a href=\"https://github.com/yukinarit/pyserde/commits?author=ydylla\" title=\"Code\">\ud83d\udcbb</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/kmsquire\"><img src=\"https://avatars.githubusercontent.com/u/223250?v=4?s=60\" width=\"60px;\" alt=\"Kevin Squire\"/><br /><sub><b>Kevin Squire</b></sub></a><br /><a href=\"https://github.com/yukinarit/pyserde/commits?author=kmsquire\" title=\"Code\">\ud83d\udcbb</a> <a href=\"https://github.com/yukinarit/pyserde/commits?author=kmsquire\" title=\"Documentation\">\ud83d\udcd6</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"http://yushiomote.org/\"><img src=\"https://avatars.githubusercontent.com/u/3733915?v=4?s=60\" width=\"60px;\" alt=\"Yushi OMOTE\"/><br /><sub><b>Yushi OMOTE</b></sub></a><br /><a href=\"https://github.com/yukinarit/pyserde/commits?author=YushiOMOTE\" title=\"Code\">\ud83d\udcbb</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://kngwyu.github.io/\"><img src=\"https://avatars.githubusercontent.com/u/16046705?v=4?s=60\" width=\"60px;\" alt=\"Yuji Kanagawa\"/><br /><sub><b>Yuji Kanagawa</b></sub></a><br /><a href=\"https://github.com/yukinarit/pyserde/commits?author=kngwyu\" title=\"Code\">\ud83d\udcbb</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://kigawas.me/\"><img src=\"https://avatars.githubusercontent.com/u/4182346?v=4?s=60\" width=\"60px;\" alt=\"Weiliang Li\"/><br /><sub><b>Weiliang Li</b></sub></a><br /><a href=\"https://github.com/yukinarit/pyserde/commits?author=kigawas\" title=\"Code\">\ud83d\udcbb</a></td>\n    </tr>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/mauvealerts\"><img src=\"https://avatars.githubusercontent.com/u/51870303?v=4?s=60\" width=\"60px;\" alt=\"Mauve\"/><br /><sub><b>Mauve</b></sub></a><br /><a href=\"https://github.com/yukinarit/pyserde/commits?author=mauvealerts\" title=\"Code\">\ud83d\udcbb</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/adsharma\"><img src=\"https://avatars.githubusercontent.com/u/658691?v=4?s=60\" width=\"60px;\" alt=\"adsharma\"/><br /><sub><b>adsharma</b></sub></a><br /><a href=\"https://github.com/yukinarit/pyserde/commits?author=adsharma\" title=\"Code\">\ud83d\udcbb</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/chagui\"><img src=\"https://avatars.githubusercontent.com/u/1234128?v=4?s=60\" width=\"60px;\" alt=\"Guilhem C.\"/><br /><sub><b>Guilhem C.</b></sub></a><br /><a href=\"https://github.com/yukinarit/pyserde/commits?author=chagui\" title=\"Documentation\">\ud83d\udcd6</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/tardyp\"><img src=\"https://avatars.githubusercontent.com/u/109859?v=4?s=60\" width=\"60px;\" alt=\"Pierre Tardy\"/><br /><sub><b>Pierre Tardy</b></sub></a><br /><a href=\"https://github.com/yukinarit/pyserde/commits?author=tardyp\" title=\"Code\">\ud83d\udcbb</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://blog.rnstlr.ch/\"><img src=\"https://avatars.githubusercontent.com/u/1435346?v=4?s=60\" width=\"60px;\" alt=\"Raphael Nestler\"/><br /><sub><b>Raphael Nestler</b></sub></a><br /><a href=\"https://github.com/yukinarit/pyserde/commits?author=rnestler\" title=\"Documentation\">\ud83d\udcd6</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://pranavvp10.github.io/\"><img src=\"https://avatars.githubusercontent.com/u/52486224?v=4?s=60\" width=\"60px;\" alt=\"Pranav V P\"/><br /><sub><b>Pranav V P</b></sub></a><br /><a href=\"https://github.com/yukinarit/pyserde/commits?author=pranavvp10\" title=\"Code\">\ud83d\udcbb</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://andreymal.org/\"><img src=\"https://avatars.githubusercontent.com/u/3236464?v=4?s=60\" width=\"60px;\" alt=\"andreymal\"/><br /><sub><b>andreymal</b></sub></a><br /><a href=\"https://github.com/yukinarit/pyserde/commits?author=andreymal\" title=\"Code\">\ud83d\udcbb</a></td>\n    </tr>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/jfuechsl\"><img src=\"https://avatars.githubusercontent.com/u/1097068?v=4?s=60\" width=\"60px;\" alt=\"Johann Fuechsl\"/><br /><sub><b>Johann Fuechsl</b></sub></a><br /><a href=\"https://github.com/yukinarit/pyserde/commits?author=jfuechsl\" title=\"Code\">\ud83d\udcbb</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/DoeringChristian\"><img src=\"https://avatars.githubusercontent.com/u/23581448?v=4?s=60\" width=\"60px;\" alt=\"DoeringChristian\"/><br /><sub><b>DoeringChristian</b></sub></a><br /><a href=\"https://github.com/yukinarit/pyserde/commits?author=DoeringChristian\" title=\"Code\">\ud83d\udcbb</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"http://stuart.axelbrooke.com/\"><img src=\"https://avatars.githubusercontent.com/u/2815794?v=4?s=60\" width=\"60px;\" alt=\"Stuart Axelbrooke\"/><br /><sub><b>Stuart Axelbrooke</b></sub></a><br /><a href=\"https://github.com/yukinarit/pyserde/commits?author=soaxelbrooke\" title=\"Code\">\ud83d\udcbb</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://kobzol.github.io/\"><img src=\"https://avatars.githubusercontent.com/u/4539057?v=4?s=60\" width=\"60px;\" alt=\"Jakub Ber\u00e1nek\"/><br /><sub><b>Jakub Ber\u00e1nek</b></sub></a><br /><a href=\"https://github.com/yukinarit/pyserde/commits?author=Kobzol\" title=\"Code\">\ud83d\udcbb</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/Fredrik-Reinholdsen\"><img src=\"https://avatars.githubusercontent.com/u/11893023?v=4?s=60\" width=\"60px;\" alt=\"Fredrik Reinholdsen\"/><br /><sub><b>Fredrik Reinholdsen</b></sub></a><br /><a href=\"https://github.com/yukinarit/pyserde/commits?author=Fredrik-Reinholdsen\" title=\"Code\">\ud83d\udcbb</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://www.patreon.com/nicoddemus\"><img src=\"https://avatars.githubusercontent.com/u/1085180?v=4?s=60\" width=\"60px;\" alt=\"Bruno Oliveira\"/><br /><sub><b>Bruno Oliveira</b></sub></a><br /><a href=\"https://github.com/yukinarit/pyserde/commits?author=nicoddemus\" title=\"Documentation\">\ud83d\udcd6</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://kylekosic.dev/\"><img src=\"https://avatars.githubusercontent.com/u/23020003?v=4?s=60\" width=\"60px;\" alt=\"Kyle Kosic\"/><br /><sub><b>Kyle Kosic</b></sub></a><br /><a href=\"https://github.com/yukinarit/pyserde/commits?author=kykosic\" title=\"Code\">\ud83d\udcbb</a></td>\n    </tr>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/gpetrovic-meltin\"><img src=\"https://avatars.githubusercontent.com/u/72957645?v=4?s=60\" width=\"60px;\" alt=\"Gajo Petrovic\"/><br /><sub><b>Gajo Petrovic</b></sub></a><br /><a href=\"https://github.com/yukinarit/pyserde/commits?author=gpetrovic-meltin\" title=\"Documentation\">\ud83d\udcd6</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/m472\"><img src=\"https://avatars.githubusercontent.com/u/6155240?v=4?s=60\" width=\"60px;\" alt=\"m472\"/><br /><sub><b>m472</b></sub></a><br /><a href=\"https://github.com/yukinarit/pyserde/commits?author=m472\" title=\"Code\">\ud83d\udcbb</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/acolley-gel\"><img src=\"https://avatars.githubusercontent.com/u/90254318?v=4?s=60\" width=\"60px;\" alt=\"acolley-gel\"/><br /><sub><b>acolley-gel</b></sub></a><br /><a href=\"https://github.com/yukinarit/pyserde/commits?author=acolley-gel\" title=\"Code\">\ud83d\udcbb</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/maallaire\"><img src=\"https://avatars.githubusercontent.com/u/38792535?v=4?s=60\" width=\"60px;\" alt=\"Marc-Andr\u00e9 Allaire\"/><br /><sub><b>Marc-Andr\u00e9 Allaire</b></sub></a><br /><a href=\"https://github.com/yukinarit/pyserde/commits?author=maallaire\" title=\"Code\">\ud83d\udcbb</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/gschaffner\"><img src=\"https://avatars.githubusercontent.com/u/11418203?v=4?s=60\" width=\"60px;\" alt=\"Ganden Schaffner\"/><br /><sub><b>Ganden Schaffner</b></sub></a><br /><a href=\"https://github.com/yukinarit/pyserde/commits?author=gschaffner\" title=\"Code\">\ud83d\udcbb</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/davetapley\"><img src=\"https://avatars.githubusercontent.com/u/48232?v=4?s=60\" width=\"60px;\" alt=\"Dave Tapley\"/><br /><sub><b>Dave Tapley</b></sub></a><br /><a href=\"https://github.com/yukinarit/pyserde/commits?author=davetapley\" title=\"Code\">\ud83d\udcbb</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/uyha\"><img src=\"https://avatars.githubusercontent.com/u/8091245?v=4?s=60\" width=\"60px;\" alt=\"Beartama\"/><br /><sub><b>Beartama</b></sub></a><br /><a href=\"https://github.com/yukinarit/pyserde/commits?author=uyha\" title=\"Code\">\ud83d\udcbb</a></td>\n    </tr>\n    <tr>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/rtbs-dev\"><img src=\"https://avatars.githubusercontent.com/u/12550525?v=4?s=60\" width=\"60px;\" alt=\"Rachael Sexton\"/><br /><sub><b>Rachael Sexton</b></sub></a><br /><a href=\"https://github.com/yukinarit/pyserde/commits?author=rtbs-dev\" title=\"Code\">\ud83d\udcbb</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://github.com/JWSong\"><img src=\"https://avatars.githubusercontent.com/u/4515331?v=4?s=60\" width=\"60px;\" alt=\"JWSong\"/><br /><sub><b>JWSong</b></sub></a><br /><a href=\"https://github.com/yukinarit/pyserde/commits?author=JWSong\" title=\"Code\">\ud83d\udcbb</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://www.mechanicus.it/\"><img src=\"https://avatars.githubusercontent.com/u/13484760?v=4?s=60\" width=\"60px;\" alt=\"Emanuele Barsanti\"/><br /><sub><b>Emanuele Barsanti</b></sub></a><br /><a href=\"https://github.com/yukinarit/pyserde/commits?author=barsa-net\" title=\"Code\">\ud83d\udcbb</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://aman-clement-aranha.vercel.app/\"><img src=\"https://avatars.githubusercontent.com/u/90409059?v=4?s=60\" width=\"60px;\" alt=\"Aman Clement Aranha\"/><br /><sub><b>Aman Clement Aranha</b></sub></a><br /><a href=\"https://github.com/yukinarit/pyserde/commits?author=Aman-Clement\" title=\"Documentation\">\ud83d\udcd6</a></td>\n      <td align=\"center\" valign=\"top\" width=\"14.28%\"><a href=\"https://qiita.com/inetcpl\"><img src=\"https://avatars.githubusercontent.com/u/51281148?v=4?s=60\" width=\"60px;\" alt=\"\ud835\udd42'\"/><br /><sub><b>\ud835\udd42'</b></sub></a><br /><a href=\"https://github.com/yukinarit/pyserde/commits?author=K-dash\" title=\"Documentation\">\ud83d\udcd6</a></td>\n    </tr>\n  </tbody>\n  <tfoot>\n    <tr>\n      <td align=\"center\" size=\"13px\" colspan=\"7\">\n        <img src=\"https://raw.githubusercontent.com/all-contributors/all-contributors-cli/1b8533af435da9854653492b1327a23a4dbd0a10/assets/logo-small.svg\">\n          <a href=\"https://all-contributors.js.org/docs/en/bot/usage\">Add your contributions</a>\n        </img>\n      </td>\n    </tr>\n  </tfoot>\n</table>\n\n<!-- markdownlint-restore -->\n<!-- prettier-ignore-end -->\n\n<!-- ALL-CONTRIBUTORS-LIST:END -->\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n\n## LICENSE\n\nThis project is licensed under the [MIT license](https://github.com/yukinarit/pyserde/blob/main/LICENSE).\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Yet another serialization library on top of dataclasses",
    "version": "0.22.2",
    "project_urls": {
        "Homepage": "https://github.com/yukinarit/pyserde",
        "Repository": "https://github.com/yukinarit/pyserde"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "306cd56ebfce94fc0b75df37c95de636d0567db26c77d8c551ec930f23aa3254",
                "md5": "71ed5b614d0e5d3f6c4a73db27ab8e3b",
                "sha256": "19875810db90782e968fbdf0ef2846f751eb456db1d289e927fc0e88053a7958"
            },
            "downloads": -1,
            "filename": "pyserde-0.22.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "71ed5b614d0e5d3f6c4a73db27ab8e3b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0.0,>=3.9.0",
            "size": 44967,
            "upload_time": "2024-11-17T11:36:10",
            "upload_time_iso_8601": "2024-11-17T11:36:10.835001Z",
            "url": "https://files.pythonhosted.org/packages/30/6c/d56ebfce94fc0b75df37c95de636d0567db26c77d8c551ec930f23aa3254/pyserde-0.22.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3adab919339182406b2b02b306b84607cda5a0cfa304deed64b1d88043b45d1a",
                "md5": "353ea8bf1c3143d9254bf4abe0d345cf",
                "sha256": "b9972707cb7bbcfa1f960b8a3589cc7035d522c4c6d6675fb7ebbb0ca7668469"
            },
            "downloads": -1,
            "filename": "pyserde-0.22.2.tar.gz",
            "has_sig": false,
            "md5_digest": "353ea8bf1c3143d9254bf4abe0d345cf",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0.0,>=3.9.0",
            "size": 43707,
            "upload_time": "2024-11-17T11:36:12",
            "upload_time_iso_8601": "2024-11-17T11:36:12.644370Z",
            "url": "https://files.pythonhosted.org/packages/3a/da/b919339182406b2b02b306b84607cda5a0cfa304deed64b1d88043b45d1a/pyserde-0.22.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-17 11:36:12",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "yukinarit",
    "github_project": "pyserde",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "lcname": "pyserde"
}
        
Elapsed time: 0.67113s