Skip to content

Commit a46fa78

Browse files
committed
Use default pydantic deserializer
1 parent 3d97d0b commit a46fa78

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

harp/schema.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
from importlib import resources
22
from os import PathLike
33
from typing import TextIO, Union
4-
5-
from pydantic_yaml import parse_yaml_raw_as
4+
from pydantic import TypeAdapter
5+
import yaml
66

77
from harp.model import Model, Registers
88

@@ -13,7 +13,8 @@ def _read_common_registers() -> Registers:
1313

1414
file = resources.files(__package__) / "common.yml"
1515
with file.open("r") as fileIO:
16-
return parse_yaml_raw_as(Registers, fileIO.read())
16+
raw_reg = yaml.safe_load(fileIO.read())
17+
return TypeAdapter(Registers).validate_python(raw_reg)
1718

1819

1920
def read_schema(file: Union[str, PathLike, TextIO], include_common_registers: bool = True) -> Model:
@@ -37,7 +38,8 @@ def read_schema(file: Union[str, PathLike, TextIO], include_common_registers: bo
3738
with open(file) as fileIO:
3839
return read_schema(fileIO)
3940
else:
40-
schema = parse_yaml_raw_as(Model, file.read())
41+
raw_schema = yaml.safe_load(file.read())
42+
schema = TypeAdapter(Model).validate_python(raw_schema)
4143
if "WhoAmI" not in schema.registers and include_common_registers:
4244
common = _read_common_registers()
4345
schema.registers = dict(common.registers, **schema.registers)

pyproject.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ dynamic = ["version"]
1010
license = "MIT"
1111

1212
dependencies = [
13-
"pydantic-yaml",
13+
"pydantic",
14+
"pyyaml",
1415
"pandas"
1516
]
1617

0 commit comments

Comments
 (0)