Crashes when passing map as input

#4
by iboates - opened

First off, thanks for the great plugin, it does generally work overall, but I had an issue yesterday.

For me, it crashes every time that I try to pass the map as an input. At first, I though that it has something to do with gr.CheckBoxGroup, but it seems that I was wrong, and that it just crashed any time that I tried to pass the map as an input.

I am pretty new to gradio in general so I may be doing something wrong or nonsensical, but this was a showstopper for me for a while.

Here is a minimal example:

import gradio as gr
from gradio_folium import Folium
from folium import Map

def foo_1(checkbox_group):
    new_checkbox_group = gr.CheckboxGroup(choices=["a", "b", "c"])
    return new_checkbox_group

def foo_2(checkbox_group):
    new_gradio_map = Folium(value=Map(location=[0, 0]))
    return new_gradio_map

def foo_3(gradio_map):
    new_checkbox_group = gr.CheckboxGroup(choices=["a", "b", "c"])
    return new_checkbox_group

def foo_4(gradio_map):
    new_gradio_map = Folium(value=Map(location=[0, 0]))
    return new_gradio_map

def foo_5(checkbox_group, gradio_map):
    new_checkbox_group = gr.CheckboxGroup(choices=["a", "b", "c"])
    return new_checkbox_group

def foo_6(checkbox_group, gradio_map):
    new_gradio_map = Folium(value=Map(location=[0, 0]))
    return new_gradio_map

def foo_7(checkbox_group, gradio_map):
    new_checkbox_group = gr.CheckboxGroup(choices=["a", "b", "c"])
    new_gradio_map = Folium(value=Map(location=[0, 0]))
    return new_checkbox_group, new_gradio_map


with gr.Blocks() as demo:
    gradio_map = Folium(value=Map(location=[0, 0]))
    checkbox_group = gr.CheckboxGroup(choices=["a", "b", "c"])

    checkbox_group.change(foo_1, [checkbox_group], [checkbox_group])
    checkbox_group.change(foo_2, [checkbox_group], [gradio_map])

    # Everything below this line fails

    # checkbox_group.change(foo_3, [gradio_map], [checkbox_group])
    # checkbox_group.change(foo_4, [gradio_map], [gradio_map])
    # checkbox_group.change(foo_5, [checkbox_group, gradio_map], [checkbox_group])
    # checkbox_group.change(foo_6, [checkbox_group, gradio_map], [gradio_map])
    # checkbox_group.change(foo_7, [checkbox_group, gradio_map], [checkbox_group, gradio_map])

demo.launch()

This is the stacktrace when you uncomment any of the failing lines:

* Running on local URL:  http://127.0.0.1:7860
ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/uvicorn/protocols/http/h11_impl.py", line 403, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in __call__
    return await self.app(scope, receive, send)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/fastapi/applications.py", line 1054, in __call__
    await super().__call__(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/applications.py", line 113, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/middleware/errors.py", line 187, in __call__
    raise exc
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/middleware/errors.py", line 165, in __call__
    await self.app(scope, receive, _send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio/route_utils.py", line 789, in __call__
    await self.app(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/middleware/exceptions.py", line 62, in __call__
    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    raise exc
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
    await app(scope, receive, sender)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/routing.py", line 715, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/routing.py", line 735, in app
    await route.handle(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/routing.py", line 288, in handle
    await self.app(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/routing.py", line 76, in app
    await wrap_app_handling_exceptions(app, request)(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    raise exc
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
    await app(scope, receive, sender)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/routing.py", line 73, in app
    response = await f(request)
               ^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/fastapi/routing.py", line 301, in app
    raw_response = await run_endpoint_function(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/fastapi/routing.py", line 214, in run_endpoint_function
    return await run_in_threadpool(dependant.call, **values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/concurrency.py", line 39, in run_in_threadpool
    return await anyio.to_thread.run_sync(func, *args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/anyio/to_thread.py", line 56, in run_sync
    return await get_async_backend().run_sync_in_worker_thread(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/anyio/_backends/_asyncio.py", line 2461, in run_sync_in_worker_thread
    return await future
           ^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/anyio/_backends/_asyncio.py", line 962, in run
    result = context.run(func, *args)
             ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio/routes.py", line 553, in main
    gradio_api_info = api_info(request)
                      ^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio/routes.py", line 585, in api_info
    api_info = route_utils.update_example_values_to_use_public_url(api_info)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio/route_utils.py", line 720, in update_example_values_to_use_public_url
    return client_utils.traverse(
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio_client/utils.py", line 1006, in traverse
    new_obj[key] = traverse(value, func, is_root)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio_client/utils.py", line 1006, in traverse
    new_obj[key] = traverse(value, func, is_root)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio_client/utils.py", line 1006, in traverse
    new_obj[key] = traverse(value, func, is_root)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio_client/utils.py", line 1011, in traverse
    new_obj.append(traverse(item, func, is_root))
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio_client/utils.py", line 1002, in traverse
    return func(json_obj)
           ^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio/route_utils.py", line 717, in _add_root_url
    default_value["url"] = file_dict["example_input"]["url"]
                           ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
KeyError: 'url'
ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/uvicorn/protocols/http/h11_impl.py", line 403, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in __call__
    return await self.app(scope, receive, send)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/fastapi/applications.py", line 1054, in __call__
    await super().__call__(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/applications.py", line 113, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/middleware/errors.py", line 187, in __call__
    raise exc
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/middleware/errors.py", line 165, in __call__
    await self.app(scope, receive, _send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio/route_utils.py", line 789, in __call__
    await self.app(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/middleware/exceptions.py", line 62, in __call__
    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    raise exc
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
    await app(scope, receive, sender)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/routing.py", line 715, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/routing.py", line 735, in app
    await route.handle(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/routing.py", line 288, in handle
    await self.app(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/routing.py", line 76, in app
    await wrap_app_handling_exceptions(app, request)(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    raise exc
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
    await app(scope, receive, sender)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/routing.py", line 73, in app
    response = await f(request)
               ^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/fastapi/routing.py", line 301, in app
    raw_response = await run_endpoint_function(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/fastapi/routing.py", line 214, in run_endpoint_function
    return await run_in_threadpool(dependant.call, **values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/concurrency.py", line 39, in run_in_threadpool
    return await anyio.to_thread.run_sync(func, *args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/anyio/to_thread.py", line 56, in run_sync
    return await get_async_backend().run_sync_in_worker_thread(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/anyio/_backends/_asyncio.py", line 2461, in run_sync_in_worker_thread
    return await future
           ^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/anyio/_backends/_asyncio.py", line 962, in run
    result = context.run(func, *args)
             ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio/routes.py", line 553, in main
    gradio_api_info = api_info(request)
                      ^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio/routes.py", line 585, in api_info
    api_info = route_utils.update_example_values_to_use_public_url(api_info)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio/route_utils.py", line 720, in update_example_values_to_use_public_url
    return client_utils.traverse(
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio_client/utils.py", line 1006, in traverse
    new_obj[key] = traverse(value, func, is_root)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio_client/utils.py", line 1006, in traverse
    new_obj[key] = traverse(value, func, is_root)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio_client/utils.py", line 1006, in traverse
    new_obj[key] = traverse(value, func, is_root)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio_client/utils.py", line 1011, in traverse
    new_obj.append(traverse(item, func, is_root))
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio_client/utils.py", line 1002, in traverse
    return func(json_obj)
           ^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio/route_utils.py", line 717, in _add_root_url
    default_value["url"] = file_dict["example_input"]["url"]
                           ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
KeyError: 'url'
ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/uvicorn/protocols/http/h11_impl.py", line 403, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in __call__
    return await self.app(scope, receive, send)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/fastapi/applications.py", line 1054, in __call__
    await super().__call__(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/applications.py", line 113, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/middleware/errors.py", line 187, in __call__
    raise exc
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/middleware/errors.py", line 165, in __call__
    await self.app(scope, receive, _send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio/route_utils.py", line 789, in __call__
    await self.app(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/middleware/exceptions.py", line 62, in __call__
    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    raise exc
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
    await app(scope, receive, sender)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/routing.py", line 715, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/routing.py", line 735, in app
    await route.handle(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/routing.py", line 288, in handle
    await self.app(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/routing.py", line 76, in app
    await wrap_app_handling_exceptions(app, request)(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    raise exc
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
    await app(scope, receive, sender)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/routing.py", line 73, in app
    response = await f(request)
               ^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/fastapi/routing.py", line 301, in app
    raw_response = await run_endpoint_function(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/fastapi/routing.py", line 214, in run_endpoint_function
    return await run_in_threadpool(dependant.call, **values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/concurrency.py", line 39, in run_in_threadpool
    return await anyio.to_thread.run_sync(func, *args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/anyio/to_thread.py", line 56, in run_sync
    return await get_async_backend().run_sync_in_worker_thread(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/anyio/_backends/_asyncio.py", line 2461, in run_sync_in_worker_thread
    return await future
           ^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/anyio/_backends/_asyncio.py", line 962, in run
    result = context.run(func, *args)
             ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio/routes.py", line 553, in main
    gradio_api_info = api_info(request)
                      ^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio/routes.py", line 585, in api_info
    api_info = route_utils.update_example_values_to_use_public_url(api_info)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio/route_utils.py", line 720, in update_example_values_to_use_public_url
    return client_utils.traverse(
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio_client/utils.py", line 1006, in traverse
    new_obj[key] = traverse(value, func, is_root)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio_client/utils.py", line 1006, in traverse
    new_obj[key] = traverse(value, func, is_root)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio_client/utils.py", line 1006, in traverse
    new_obj[key] = traverse(value, func, is_root)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio_client/utils.py", line 1011, in traverse
    new_obj.append(traverse(item, func, is_root))
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio_client/utils.py", line 1002, in traverse
    return func(json_obj)
           ^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio/route_utils.py", line 717, in _add_root_url
    default_value["url"] = file_dict["example_input"]["url"]
                           ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
KeyError: 'url'
ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/uvicorn/protocols/http/h11_impl.py", line 403, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in __call__
    return await self.app(scope, receive, send)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/fastapi/applications.py", line 1054, in __call__
    await super().__call__(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/applications.py", line 113, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/middleware/errors.py", line 187, in __call__
    raise exc
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/middleware/errors.py", line 165, in __call__
    await self.app(scope, receive, _send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio/route_utils.py", line 789, in __call__
    await self.app(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/middleware/exceptions.py", line 62, in __call__
    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    raise exc
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
    await app(scope, receive, sender)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/routing.py", line 715, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/routing.py", line 735, in app
    await route.handle(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/routing.py", line 288, in handle
    await self.app(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/routing.py", line 76, in app
    await wrap_app_handling_exceptions(app, request)(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    raise exc
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
    await app(scope, receive, sender)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/routing.py", line 73, in app
    response = await f(request)
               ^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/fastapi/routing.py", line 301, in app
    raw_response = await run_endpoint_function(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/fastapi/routing.py", line 214, in run_endpoint_function
    return await run_in_threadpool(dependant.call, **values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/concurrency.py", line 39, in run_in_threadpool
    return await anyio.to_thread.run_sync(func, *args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/anyio/to_thread.py", line 56, in run_sync
    return await get_async_backend().run_sync_in_worker_thread(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/anyio/_backends/_asyncio.py", line 2461, in run_sync_in_worker_thread
    return await future
           ^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/anyio/_backends/_asyncio.py", line 962, in run
    result = context.run(func, *args)
             ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio/routes.py", line 553, in main
    gradio_api_info = api_info(request)
                      ^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio/routes.py", line 585, in api_info
    api_info = route_utils.update_example_values_to_use_public_url(api_info)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio/route_utils.py", line 720, in update_example_values_to_use_public_url
    return client_utils.traverse(
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio_client/utils.py", line 1006, in traverse
    new_obj[key] = traverse(value, func, is_root)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio_client/utils.py", line 1006, in traverse
    new_obj[key] = traverse(value, func, is_root)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio_client/utils.py", line 1006, in traverse
    new_obj[key] = traverse(value, func, is_root)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio_client/utils.py", line 1011, in traverse
    new_obj.append(traverse(item, func, is_root))
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio_client/utils.py", line 1002, in traverse
    return func(json_obj)
           ^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio/route_utils.py", line 717, in _add_root_url
    default_value["url"] = file_dict["example_input"]["url"]
                           ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
KeyError: 'url'
ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/uvicorn/protocols/http/h11_impl.py", line 403, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/uvicorn/middleware/proxy_headers.py", line 60, in __call__
    return await self.app(scope, receive, send)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/fastapi/applications.py", line 1054, in __call__
    await super().__call__(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/applications.py", line 113, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/middleware/errors.py", line 187, in __call__
    raise exc
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/middleware/errors.py", line 165, in __call__
    await self.app(scope, receive, _send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio/route_utils.py", line 789, in __call__
    await self.app(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/middleware/exceptions.py", line 62, in __call__
    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    raise exc
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
    await app(scope, receive, sender)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/routing.py", line 715, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/routing.py", line 735, in app
    await route.handle(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/routing.py", line 288, in handle
    await self.app(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/routing.py", line 76, in app
    await wrap_app_handling_exceptions(app, request)(scope, receive, send)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    raise exc
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/_exception_handler.py", line 42, in wrapped_app
    await app(scope, receive, sender)
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/routing.py", line 73, in app
    response = await f(request)
               ^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/fastapi/routing.py", line 301, in app
    raw_response = await run_endpoint_function(
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/fastapi/routing.py", line 214, in run_endpoint_function
    return await run_in_threadpool(dependant.call, **values)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/starlette/concurrency.py", line 39, in run_in_threadpool
    return await anyio.to_thread.run_sync(func, *args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/anyio/to_thread.py", line 56, in run_sync
    return await get_async_backend().run_sync_in_worker_thread(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/anyio/_backends/_asyncio.py", line 2461, in run_sync_in_worker_thread
    return await future
           ^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/anyio/_backends/_asyncio.py", line 962, in run
    result = context.run(func, *args)
             ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio/routes.py", line 553, in main
    gradio_api_info = api_info(request)
                      ^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio/routes.py", line 585, in api_info
    api_info = route_utils.update_example_values_to_use_public_url(api_info)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio/route_utils.py", line 720, in update_example_values_to_use_public_url
    return client_utils.traverse(
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio_client/utils.py", line 1006, in traverse
    new_obj[key] = traverse(value, func, is_root)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio_client/utils.py", line 1006, in traverse
    new_obj[key] = traverse(value, func, is_root)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio_client/utils.py", line 1006, in traverse
    new_obj[key] = traverse(value, func, is_root)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio_client/utils.py", line 1011, in traverse
    new_obj.append(traverse(item, func, is_root))
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio_client/utils.py", line 1002, in traverse
    return func(json_obj)
           ^^^^^^^^^^^^^^
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio/route_utils.py", line 717, in _add_root_url
    default_value["url"] = file_dict["example_input"]["url"]
                           ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^
KeyError: 'url'
Traceback (most recent call last):
  File "/home/REDACTED/code/REDACTED/blah.py", line 50, in <module>
    demo.launch()
  File "/home/REDACTED/code/REDACTED/venv/lib/python3.12/site-packages/gradio/blocks.py", line 2621, in launch
    raise ValueError(
ValueError: When localhost is not accessible, a shareable link must be created. Please set share=True or check your proxy settings to allow access to localhost.

Process finished with exit code 1

Sign up or log in to comment