Skip to main content

De/serialize YAML payloads using Python type hints.

Project description

databind.yaml

Databind is a library inspired by Jackson-databind to describe and bind data models for object-oriented programming. The databind.yaml module provides functionality to (de-) serialize YAML payloads from/to Python objects.

Note: This module is just a thin wrapper that provides utility functions, combining the functionality of databind.json with PyYAML.

Quickstart

from typing import Optional
from databind.core import datamodel
from databind.yaml import from_str

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

@datamodel
class ResolvedLocation:
  query: str
  location: Geolocation

london = from_str(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


Download files

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

Source Distribution

databind.yaml-0.1.3.tar.gz (3.6 kB view details)

Uploaded Source

Built Distribution

databind.yaml-0.1.3-py3-none-any.whl (4.0 kB view details)

Uploaded Python 3

File details

Details for the file databind.yaml-0.1.3.tar.gz.

File metadata

  • Download URL: databind.yaml-0.1.3.tar.gz
  • Upload date:
  • Size: 3.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.3

File hashes

Hashes for databind.yaml-0.1.3.tar.gz
Algorithm Hash digest
SHA256 18f3c2a1e9e2439a601de7240de3be37612b95b5a2ded1d3e1b3804131490e29
MD5 965ac0034af56a755bd9290dca969ec6
BLAKE2b-256 3b9974bcd1f8db3f721a83bc085a739a79d6aabd14b6c3dad35af3cd7e86738b

See more details on using hashes here.

File details

Details for the file databind.yaml-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: databind.yaml-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 4.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.7.3

File hashes

Hashes for databind.yaml-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 24d2c6ea7529fc72493005521f3dce4ede4a87fb9ef21e44ce9af89fedaebf37
MD5 4ccd93585b7964b577980cb1c8cb52b1
BLAKE2b-256 5db6eeb131addf40f1a729e5f81eaa3bc48abd3e5cba7e022d1ca639d3239be4

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