-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unable to generate pydantic-core schema for <class 'starlette.requests.Request'> #17
Comments
Here is the full trace log: INFO: IP:6692 - "POST /queue/join HTTP/1.1" 500 Internal Server Error
ERROR: Exception in ASGI application
Traceback (most recent call last):
File "/usr/local/lib/python3.10/dist-packages/pydantic/type_adapter.py", line 209, in __init__
core_schema = _getattr_no_parents(type, '__pydantic_core_schema__')
File "/usr/local/lib/python3.10/dist-packages/pydantic/type_adapter.py", line 98, in _getattr_no_parents
raise AttributeError(attribute)
AttributeError: __pydantic_core_schema__
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.10/dist-packages/uvicorn/protocols/http/h11_impl.py", line 406, in run_asgi
result = await app( # type: ignore[func-returns-value]
File "/usr/local/lib/python3.10/dist-packages/uvicorn/middleware/proxy_headers.py", line 70, in __call__
return await self.app(scope, receive, send)
File "/usr/local/lib/python3.10/dist-packages/fastapi/applications.py", line 1054, in __call__
await super().__call__(scope, receive, send)
File "/usr/local/lib/python3.10/dist-packages/starlette/applications.py", line 113, in __call__
await self.middleware_stack(scope, receive, send)
File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/errors.py", line 187, in __call__
raise exc
File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/errors.py", line 165, in __call__
await self.app(scope, receive, _send)
File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/exceptions.py", line 62, in __call__
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "/usr/local/lib/python3.10/dist-packages/starlette/_exception_handler.py", line 62, in wrapped_app
raise exc
File "/usr/local/lib/python3.10/dist-packages/starlette/_exception_handler.py", line 51, in wrapped_app
await app(scope, receive, sender)
File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 715, in __call__
await self.middleware_stack(scope, receive, send)
File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 735, in app
await route.handle(scope, receive, send)
File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 460, in handle
await self.app(scope, receive, send)
File "/usr/local/lib/python3.10/dist-packages/fastapi/applications.py", line 1054, in __call__
await super().__call__(scope, receive, send)
File "/usr/local/lib/python3.10/dist-packages/starlette/applications.py", line 113, in __call__
await self.middleware_stack(scope, receive, send)
File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/errors.py", line 187, in __call__
raise exc
File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/errors.py", line 165, in __call__
await self.app(scope, receive, _send)
File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/cors.py", line 93, in __call__
await self.simple_response(scope, receive, send, request_headers=headers)
File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/cors.py", line 144, in simple_response
await self.app(scope, receive, send)
File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/exceptions.py", line 62, in __call__
await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
File "/usr/local/lib/python3.10/dist-packages/starlette/_exception_handler.py", line 62, in wrapped_app
raise exc
File "/usr/local/lib/python3.10/dist-packages/starlette/_exception_handler.py", line 51, in wrapped_app
await app(scope, receive, sender)
File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 715, in __call__
await self.middleware_stack(scope, receive, send)
File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 735, in app
await route.handle(scope, receive, send)
File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 288, in handle
await self.app(scope, receive, send)
File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 76, in app
await wrap_app_handling_exceptions(app, request)(scope, receive, send)
File "/usr/local/lib/python3.10/dist-packages/starlette/_exception_handler.py", line 62, in wrapped_app
raise exc
File "/usr/local/lib/python3.10/dist-packages/starlette/_exception_handler.py", line 51, in wrapped_app
await app(scope, receive, sender)
File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 73, in app
response = await f(request)
File "/usr/local/lib/python3.10/dist-packages/fastapi/routing.py", line 291, in app
solved_result = await solve_dependencies(
File "/usr/local/lib/python3.10/dist-packages/fastapi/dependencies/utils.py", line 639, in solve_dependencies
) = await request_body_to_args( # body_params checked above
File "/usr/local/lib/python3.10/dist-packages/fastapi/dependencies/utils.py", line 810, in request_body_to_args
fields_to_extract = get_model_fields(first_field.type_)
File "/usr/local/lib/python3.10/dist-packages/fastapi/_compat.py", line 283, in get_model_fields
return [
File "/usr/local/lib/python3.10/dist-packages/fastapi/_compat.py", line 284, in <listcomp>
ModelField(field_info=field_info, name=name)
File "<string>", line 6, in __init__
File "/usr/local/lib/python3.10/dist-packages/fastapi/_compat.py", line 109, in __post_init__
self._type_adapter: TypeAdapter[Any] = TypeAdapter(
File "/usr/local/lib/python3.10/dist-packages/pydantic/type_adapter.py", line 211, in __init__
core_schema = _get_schema(type, config_wrapper, parent_depth=_parent_depth + 1)
File "/usr/local/lib/python3.10/dist-packages/pydantic/type_adapter.py", line 81, in _get_schema
schema = gen.generate_schema(type_)
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 490, in generate_schema
schema = self._generate_schema(obj)
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 721, in _generate_schema
schema = self._generate_schema_inner(obj)
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 727, in _generate_schema_inner
return self._annotated_schema(obj)
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 1697, in _annotated_schema
schema = self._apply_annotations(source_type, annotations)
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 1765, in _apply_annotations
schema = get_inner_schema(source_type)
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_schema_generation_shared.py", line 82, in __call__
schema = self._handler(__source_type)
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 1847, in new_handler
schema = metadata_get_schema(source, get_inner_schema)
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 1843, in <lambda>
lambda source, handler: handler(source)
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_schema_generation_shared.py", line 82, in __call__
schema = self._handler(__source_type)
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 1746, in inner_handler
schema = self._generate_schema(obj)
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 721, in _generate_schema
schema = self._generate_schema_inner(obj)
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 747, in _generate_schema_inner
return self.match_type(obj)
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 830, in match_type
return self._match_generic_type(obj, origin)
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 854, in _match_generic_type
return self._union_schema(obj)
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 1141, in _union_schema
choices.append(self.generate_schema(arg))
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 490, in generate_schema
schema = self._generate_schema(obj)
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 721, in _generate_schema
schema = self._generate_schema_inner(obj)
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 747, in _generate_schema_inner
return self.match_type(obj)
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 834, in match_type
return self._unknown_type_schema(obj)
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 393, in _unknown_type_schema
raise PydanticSchemaGenerationError(
pydantic.errors.PydanticSchemaGenerationError: Unable to generate pydantic-core schema for <class 'starlette.requests.Request'>. Set `arbitrary_types_allowed=True` in the model_config to ignore this error or implement `__get_pydantic_core_schema__` on your type to fully support it.
If you got this error by calling handler(<some type>) within `__get_pydantic_core_schema__` then you likely need to call `handler.generate_schema(<some type>)` since we do not call `__get_pydantic_core_schema__` on `<some type>` otherwise to avoid infinite recursion.
For further information visit https://errors.pydantic.dev/2.6/u/schema-for-unknown-type |
Another reference regarding the latest |
Seems root cause is in |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Saw a fix by upgrading the pydantic to latest version: jhj0517/Whisper-WebUI#258
Simply changing the
requirements.txt
withpydantic==4.43.0
won't work, becausegradio
is locked in a low version4.19.1
because ofgoogletrans
depending onhttpx==0.14.1
which is not supported by newer version ofgradio
.Wondering if there is a quick work around to resolve the issue without refactoring the code?
The text was updated successfully, but these errors were encountered: