Skip to main content

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


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 details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pydantic_yaml-0.2.2-py3-none-any.whl (6.0 kB view details)

Uploaded Python 3

File details

Details for the file pydantic_yaml-0.2.2.tar.gz.

File metadata

  • Download URL: pydantic_yaml-0.2.2.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.6

File hashes

Hashes for pydantic_yaml-0.2.2.tar.gz
Algorithm Hash digest
SHA256 0f04d5da92544a537e45312cbc7ae59d262a7959da602e60a0d1334251e9bb23
MD5 86a6ffd37e210e354f30710cda23810a
BLAKE2b-256 27d4dea3b0ffbe47e016ee9238c5d5927f30975580c92a054b1d11233492f143

See more details on using hashes here.

File details

Details for the file pydantic_yaml-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: pydantic_yaml-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 6.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.8.6

File hashes

Hashes for pydantic_yaml-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4faae9a0c374bd44d9f7213c61284ff07665aba92ea1450494202104d921a425
MD5 46bc0c5ba666090c4fe446987bfb84a8
BLAKE2b-256 a64d848e30f353196441e2d81b27c588213e038b3748e3329a7873427da5db01

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page