Skip to main content

JSON de/serializers

Project description

json-serde

PyPI Version CI Documentation Status

JSON de/serializer for Python, inspired by attrs and SQLAlchemy.

Example

import requests
from json_serde import JsonSerde, Integer, String, IsoDateTime


class User(JsonSerde):
    username = String()
    user_id = Integer(rename='userId')
    birthday = IsoDateTime(is_optional=True, default=None)


resp = requests.get('https://example.com/api/user')
resp.raise_for_status()

api_response = resp.json()
# {'username': 'emmag', 'userId': 1312, 'somethingElse': ['irrelevant']}

user = User.from_json(api_response)
assert user.username == 'emmag'
assert isinstance(user.user_id, int)
assert user.birthday is None

License

This work is dual licensed under the MIT and Apache-2.0 licenses. See LICENSE-MIT and LICENSE-APACHE for details.

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

json-serde-0.0.11.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

json_serde-0.0.11-py3-none-any.whl (11.6 kB view details)

Uploaded Python 3

File details

Details for the file json-serde-0.0.11.tar.gz.

File metadata

  • Download URL: json-serde-0.0.11.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.20.1 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.3

File hashes

Hashes for json-serde-0.0.11.tar.gz
Algorithm Hash digest
SHA256 7a1d63c4d4ff653c9e633031283151a753f33e49738a83ce51bbb2b414f3889f
MD5 19c8187bcf918ead4c0a8a515f0782b4
BLAKE2b-256 eecd9b7a210924a7c302c546d68eaae033a34c09881e5c1a88964c340abfdbfa

See more details on using hashes here.

File details

Details for the file json_serde-0.0.11-py3-none-any.whl.

File metadata

  • Download URL: json_serde-0.0.11-py3-none-any.whl
  • Upload date:
  • Size: 11.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.20.1 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.7.3

File hashes

Hashes for json_serde-0.0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 4e9009d8c1474f3c61cfc6e12f01d5c9bf608dcfd0617c83de6fdd663426ddb3
MD5 cba8e0f88916a5510cba90329d0dc207
BLAKE2b-256 67c2d6584d401242df9df4b0786ab6adaaa7cab5ebf0949e854720b880e464b6

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