fastapi-mqtt icon indicating copy to clipboard operation
fastapi-mqtt copied to clipboard

RuntimeError: no validator found for <class 'ssl.SSLContext'>, see `arbitrary_types_allowed` in Config

Open pksofttech opened this issue 8 months ago • 1 comments

class MQTTConfig(BaseModel): File "pydantic/main.py", line 197, in pydantic.main.ModelMetaclass.new File "pydantic/fields.py", line 506, in pydantic.fields.ModelField.infer File "pydantic/fields.py", line 436, in pydantic.fields.ModelField.init File "pydantic/fields.py", line 552, in pydantic.fields.ModelField.prepare File "pydantic/fields.py", line 663, in pydantic.fields.ModelField._type_analysis File "pydantic/fields.py", line 808, in pydantic.fields.ModelField._create_sub_type File "pydantic/fields.py", line 436, in pydantic.fields.ModelField.init File "pydantic/fields.py", line 557, in pydantic.fields.ModelField.prepare File "pydantic/fields.py", line 831, in pydantic.fields.ModelField.populate_validators File "pydantic/validators.py", line 765, in find_validators RuntimeError: no validator found for <class 'ssl.SSLContext'>, see arbitrary_types_allowed in Config

im fix by

class MQTTConfig(BaseModel):

class Config:

arbitrary_types_allowed = True

....

pksofttech avatar Oct 18 '23 15:10 pksofttech

Hi @pksofttech, are you trying to serialise the MQTTConfig with a SSLContext defined? (it's not possible)

Could you give some details about your environment? (python, pydantic + fastapi-mqtt versions, etc.) and when/how this is happening?

azogue avatar Nov 23 '23 11:11 azogue

Closing this one, as deprecated.

In current v2.1.1 the MQTTConfig(BaseModel) already has the model_config = ConfigDict(arbitrary_types_allowed=True), and, unless trying to serialise to JSON with an SSLContext, there are no known problems about ✅

azogue avatar Apr 11 '24 09:04 azogue