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)
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 18f3c2a1e9e2439a601de7240de3be37612b95b5a2ded1d3e1b3804131490e29 |
|
MD5 | 965ac0034af56a755bd9290dca969ec6 |
|
BLAKE2b-256 | 3b9974bcd1f8db3f721a83bc085a739a79d6aabd14b6c3dad35af3cd7e86738b |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 24d2c6ea7529fc72493005521f3dce4ede4a87fb9ef21e44ce9af89fedaebf37 |
|
MD5 | 4ccd93585b7964b577980cb1c8cb52b1 |
|
BLAKE2b-256 | 5db6eeb131addf40f1a729e5f81eaa3bc48abd3e5cba7e022d1ca639d3239be4 |