Adds some YAML functionality to the excellent `pydantic` library.
Project description
pydantic-yaml
This is a small helper library that adds some YAML capabilities to pydantic, namely dumping to yaml via the yaml_model.yaml()
function, and parsing from strings/files using YamlModel.parse_raw()
and YamlModel.parse_file()
. It also adds an Enum
subclass that gets dumped to YAML as a string, and fixes dumping of some typical types.
Usage
Example usage is seen below.
from pydantic_yaml import YamlEnum, YamlModel
class MyEnum(str, YamlEnum):
a = "a"
b = "b"
class MyModel(YamlModel):
x: int = 1
e: MyEnum = MyEnum.a
m1 = MyModel(x=2, e="b")
yml = m1.yaml()
m2 = MyModel.parse_raw(yml, proto="yaml")
assert m1 == m2
m3 = MyModel.parse_raw(yml, content_type="application/yaml")
assert m1 == m3
Installation
pip install pydantic_yaml
Make sure to install ruamel.yaml
(recommended) or pyyaml
as well. These are optional dependencies:
pip install pydantic_yaml[ruamel]
pip install pydantic_yaml[pyyaml]
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
pydantic_yaml-0.2.2.tar.gz
(4.5 kB
view hashes)
Built Distribution
Close
Hashes for pydantic_yaml-0.2.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4faae9a0c374bd44d9f7213c61284ff07665aba92ea1450494202104d921a425 |
|
MD5 | 46bc0c5ba666090c4fe446987bfb84a8 |
|
BLAKE2b-256 | a64d848e30f353196441e2d81b27c588213e038b3748e3329a7873427da5db01 |