github gradio-app/gradio v3.11.0

latest releases: gradio@4.44.0, @gradio/core@0.0.4, @gradio/audio@0.13.5...
22 months ago

3.11.0

New Features:

Upload Button

There is now a new component called the UploadButton which is a file upload component but in button form! You can also specify what file types it should accept in the form of a list (ex: image, video, audio, text, or generic file). Added by @dawoodkhan82 in PR 2591.

Example of how it can be used:

import gradio as gr

def upload_file(files):
    file_paths = [file.name for file in files]
    return file_paths

with gr.Blocks() as demo:
    file_output = gr.File()
    upload_button = gr.UploadButton("Click to Upload a File", file_types=["image", "video"], file_count="multiple")
    upload_button.upload(upload_file, upload_button, file_output)

demo.launch()

Revamped API documentation page

New API Docs page with in-browser playground and updated aesthetics. @gary149 in PR 2652

Revamped Login page

Previously our login page had its own CSS, had no dark mode, and had an ugly json message on the wrong credentials. Made the page more aesthetically consistent, added dark mode support, and a nicer error message. @aliabid94 in PR 2684

Accessing the Requests Object Directly

You can now access the Request object directly in your Python function by @abidlabs in PR 2641. This means that you can access request headers, the client IP address, and so on. In order to use it, add a parameter to your function and set its type hint to be gr.Request. Here's a simple example:

import gradio as gr

def echo(name, request: gr.Request):
    if request:
        print("Request headers dictionary:", request.headers)
        print("IP address:", request.client.host)
    return name

io = gr.Interface(echo, "textbox", "textbox").launch()

Bug Fixes:

  • Fixed bug that limited files from being sent over websockets to 16MB. The new limit
    is now 1GB by @abidlabs in PR 2709

Documentation Changes:

  • Updated documentation for embedding Gradio demos on Spaces as web components by
    @julien-c in PR 2698
  • Updated IFrames in Guides to use the host URL instead of the Space name to be consistent with the new method for embedding Spaces, by
    @julien-c in PR 2692
  • Colab buttons on every demo in the website! Just click open in colab, and run the demo there.
Screen.Recording.2022-11-19.at.5.27.03.PM.mov

Testing and Infrastructure Changes:

No changes to highlight.

Breaking Changes:

No changes to highlight.

Full Changelog:

  • Better warnings and error messages for gr.Interface.load() by @abidlabs in PR 2694
  • Add open in colab buttons to demos in docs and /demos by @aliabd in PR 2608
  • Apply different formatting for the types in component docstrings by @aliabd in PR 2707

Contributors Shoutout:

No changes to highlight.

Don't miss a new gradio release

NewReleases is sending notifications on new releases.