Skip to main content

"Adds some YAML functionality to the excellent `pydantic` library."

Project description

pydantic-yaml

PyPI version Unit Tests

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.3.0.tar.gz (6.2 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.3.0-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pydantic_yaml-0.3.0.tar.gz
  • Upload date:
  • Size: 6.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10

File hashes

Hashes for pydantic_yaml-0.3.0.tar.gz
Algorithm Hash digest
SHA256 843a6595d9b7781b5fbdbdf8248aeadf53509493746525d06caf34a05ccb6022
MD5 4cad0e4944146b4620742317bb6ba01f
BLAKE2b-256 8969b5a04971b2468a074bb82cab6cd991542efb241e9001c8e76492d2388995

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pydantic_yaml-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 7.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10

File hashes

Hashes for pydantic_yaml-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6d7d56adc4a7ca1df19f9855ed47b8b8603b49f374ca2d67d61362356afc9364
MD5 86f78c53a1d61c4739c7e417b18aa54f
BLAKE2b-256 fd3d26b78ce50fd64b1570e22b3be31725d32a7845342021e9e0056313cc1854

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