pydantic-xml icon indicating copy to clipboard operation
pydantic-xml copied to clipboard

typing.Sequence is not supported

Open eltoder opened this issue 11 months ago • 0 comments

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

eltoder avatar Nov 22 '24 22:11 eltoder