Skip to main content

Bind object-oriented data models to JSON data.

Project description

databind.json

Databind is a library inspired by Jackson-databind to describe and bind data models for object-oriented programming. The databind.json package provides converters for JSON data types, data models and union types to serialize and deserialize JSON payloads.

Quickstart

from typing import Optional
from databind.core import datamodel
from databind.json import from_json

@datamodel
class Geolocation:
  latitude: float
  longitude: float
  altitude: Optional[float] = None

@datamodel
class ResolvedLocation:
  query: str
  location: Geolocation

london = from_json(ResolvedLocation, {
  "query": "London",
  "location": {
    "latitude": 51.507351,
    "longitude": -0.127758,
  },
})

assert london == ResolvedLocation("London", Geolocation(51.507351, -0.127758))

Copyright © 2020 – Niklas Rosenstein

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

databind.json-0.8.0.tar.gz (8.6 kB view hashes)

Uploaded Source

Built Distribution

databind.json-0.8.0-py3-none-any.whl (8.0 kB view hashes)

Uploaded 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