godatadriven / pydantic-avro

This library can convert a pydantic class to a avro schema or generate python code from a avro schema.
https://github.com/godatadriven/pydantic-avro
MIT License
60 stars 30 forks source link

avro_schema() fails when pydantic field is a literal with only one string #104

Open RyanCodrai opened 5 months ago

RyanCodrai commented 5 months ago

This fails:

import json
from typing import Literal
from pydantic_avro.base import AvroBase

class TestRequest(AvroBase):
    source: Literal['abc']

print(json.dumps(TestRequest.avro_schema()))

This suceeds:

import json
from typing import Literal
from pydantic_avro.base import AvroBase

class TestRequest(AvroBase):
    source: Literal['abc', 'efg']

print(json.dumps(TestRequest.avro_schema()))