gradio-app / gradio

Build and share delightful machine learning apps, all in Python. 🌟 Star to support our work!
http://www.gradio.app
Apache License 2.0
32.74k stars 2.47k forks source link

TypeError: list_schema() got an unexpected keyword argument 'fail_fast' #9295

Closed Stephen-SMJ closed 1 month ago

Stephen-SMJ commented 1 month ago

Describe the bug

I just updated my gradio version from 4.22.0 to 4.43.0. And there is an imported error in import gradio as gr TypeError: list_schema() got an unexpected keyword argument 'fail_fast'.

I fixed all package version conflicts, but it is still not solved, any ideas?

Have you searched existing issues? 🔎

Reproduction

import gradio as gr

Screenshot

CleanShot 2024-09-09 at 12 42 12@2x

Logs

No response

System Info

gradio environment
Traceback (most recent call last):
  File "/Users/stephensun/anaconda3/bin/gradio", line 5, in <module>
    from gradio.cli import cli
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/gradio/__init__.py", line 3, in <module>
    import gradio._simple_templates
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/gradio/_simple_templates/__init__.py", line 1, in <module>
    from .simpledropdown import SimpleDropdown
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/gradio/_simple_templates/simpledropdown.py", line 6, in <module>
    from gradio.components.base import FormComponent
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/gradio/components/__init__.py", line 1, in <module>
    from gradio.components.annotated_image import AnnotatedImage
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/gradio/components/annotated_image.py", line 13, in <module>
    from gradio import processing_utils, utils
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/gradio/processing_utils.py", line 21, in <module>
    from gradio import utils, wasm_utils
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/gradio/utils.py", line 49, in <module>
    from gradio.data_classes import FileData
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/gradio/data_classes.py", line 12, in <module>
    from fastapi import Request
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/fastapi/__init__.py", line 7, in <module>
    from .applications import FastAPI as FastAPI
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/fastapi/applications.py", line 16, in <module>
    from fastapi import routing
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/fastapi/routing.py", line 22, in <module>
    from fastapi import params
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/fastapi/params.py", line 5, in <module>
    from fastapi.openapi.models import Example
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/fastapi/openapi/models.py", line 104, in <module>
    class ServerVariable(BaseModel):
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/pydantic/_internal/_model_construction.py", line 205, in __new__
    complete_model_class(
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/pydantic/_internal/_model_construction.py", line 534, in complete_model_class
    schema = cls.__get_pydantic_core_schema__(cls, handler)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/pydantic/main.py", line 643, in __get_pydantic_core_schema__
    return handler(source)
           ^^^^^^^^^^^^^^^
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/pydantic/_internal/_schema_generation_shared.py", line 83, in __call__
    schema = self._handler(source_type)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 512, in generate_schema
    schema = self._generate_schema_inner(obj)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 784, in _generate_schema_inner
    return self._model_schema(obj)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 591, in _model_schema
    {k: self._generate_md_field_schema(k, v, decorators) for k, v in fields.items()},
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 591, in <dictcomp>
    {k: self._generate_md_field_schema(k, v, decorators) for k, v in fields.items()},
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 947, in _generate_md_field_schema
    common_field = self._common_field_schema(name, field_info, decorators)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 1134, in _common_field_schema
    schema = self._apply_annotations(
             ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 1890, in _apply_annotations
    schema = get_inner_schema(source_type)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/pydantic/_internal/_schema_generation_shared.py", line 83, in __call__
    schema = self._handler(source_type)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 1972, in new_handler
    schema = metadata_get_schema(source, get_inner_schema)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 1968, in <lambda>
    lambda source, handler: handler(source)
                            ^^^^^^^^^^^^^^^
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/pydantic/_internal/_schema_generation_shared.py", line 83, in __call__
    schema = self._handler(source_type)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 1871, in inner_handler
    schema = self._generate_schema_inner(obj)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 789, in _generate_schema_inner
    return self.match_type(obj)
           ^^^^^^^^^^^^^^^^^^^^
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 871, in match_type
    return self._match_generic_type(obj, origin)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 895, in _match_generic_type
    return self._union_schema(obj)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 1207, in _union_schema
    choices.append(self.generate_schema(arg))
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 512, in generate_schema
    schema = self._generate_schema_inner(obj)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 789, in _generate_schema_inner
    return self.match_type(obj)
           ^^^^^^^^^^^^^^^^^^^^
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 867, in match_type
    return self._apply_annotations(source_type, annotations)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 1890, in _apply_annotations
    schema = get_inner_schema(source_type)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/pydantic/_internal/_schema_generation_shared.py", line 83, in __call__
    schema = self._handler(source_type)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 1972, in new_handler
    schema = metadata_get_schema(source, get_inner_schema)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/stephensun/anaconda3/lib/python3.11/site-packages/pydantic/_internal/_std_types_schema.py", line 327, in __get_pydantic_core_schema__
    constrained_schema = core_schema.list_schema(items_schema, **metadata)
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: list_schema() got an unexpected keyword argument 'fail_fast'

Severity

Blocking usage of gradio

freddyaboulton commented 1 month ago

I think this is some variation of #9275. Can you try upgrading your pydantic/fastapi versions?

abidlabs commented 1 month ago

Yes, this should be fixed by https://github.com/gradio-app/gradio/pull/9279, but let us know if you are still seeing this error after installing from that PR @Stephen-SMJ