pydantic-xml
pydantic-xml copied to clipboard
typing.Sequence is not supported
Normally pydantic supports typing.Sequence, but it generates an internal error with pydantic_xml:
import pydantic_xml as pxml
from typing import Sequence
class Model(pxml.BaseXmlModel):
values: Sequence[int]
results in
Traceback (most recent call last):
File "/home/eltoder/dev/scratch/xml_sequence.py", line 4, in <module>
class Model(pxml.BaseXmlModel):
File "/home/eltoder/dev/scratch/.venv/lib/python3.10/site-packages/pydantic_xml/model.py", line 375, in __new__
cls.__build_serializer__()
File "/home/eltoder/dev/scratch/.venv/lib/python3.10/site-packages/pydantic_xml/model.py", line 461, in __build_serializer__
serializer = Serializer.parse_core_schema(
File "/home/eltoder/dev/scratch/.venv/lib/python3.10/site-packages/pydantic_xml/serializers/serializer.py", line 184, in parse_core_schema
return cls.select_serializer(schema, ctx)
File "/home/eltoder/dev/scratch/.venv/lib/python3.10/site-packages/pydantic_xml/serializers/serializer.py", line 241, in select_serializer
return factories.model.from_core_schema(schema, ctx)
File "/home/eltoder/dev/scratch/.venv/lib/python3.10/site-packages/pydantic_xml/serializers/factories/model.py", line 453, in from_core_schema
return ModelSerializer.from_core_schema(schema, ctx)
File "/home/eltoder/dev/scratch/.venv/lib/python3.10/site-packages/pydantic_xml/serializers/factories/model.py", line 91, in from_core_schema
fields_serializers[field_name] = Serializer.parse_core_schema(model_field['schema'], field_ctx)
File "/home/eltoder/dev/scratch/.venv/lib/python3.10/site-packages/pydantic_xml/serializers/serializer.py", line 183, in parse_core_schema
schema, ctx = cls.preprocess_schema(schema, ctx)
File "/home/eltoder/dev/scratch/.venv/lib/python3.10/site-packages/pydantic_xml/serializers/serializer.py", line 203, in preprocess_schema
return cls.preprocess_schema(inner_schema, ctx)
File "/home/eltoder/dev/scratch/.venv/lib/python3.10/site-packages/pydantic_xml/serializers/serializer.py", line 190, in preprocess_schema
raise ModelError(f"type {schema_type} is not supported")
pydantic_xml.errors.ModelError: type chain is not supported