github gradio-app/gradio v3.13.0

latest releases: gradio@5.5.0, @gradio/wasm@0.15.0, @gradio/video@0.11.7...
23 months ago

Version 3.13.0

New Features:

Scatter plot component

It is now possible to create a scatter plot natively in Gradio!

The gr.ScatterPlot component accepts a pandas dataframe and some optional configuration parameters
and will automatically create a plot for you!

This is the first of many native plotting components in Gradio!

For an example of how to use gr.ScatterPlot see below:

import gradio as gr
from vega_datasets import data

cars = data.cars()

with gr.Blocks() as demo:
    gr.ScatterPlot(show_label=False,
                   value=cars,
                   x="Horsepower",
                   y="Miles_per_Gallon",
                   color="Origin",
                   tooltip="Name",
                   title="Car Data",
                   y_title="Miles per Gallon",
                   color_legend_title="Origin of Car").style(container=False)

demo.launch()

image

By @freddyaboulton in PR 2764

Support for altair plots

The Plot component can now accept altair plots as values!
Simply return an altair plot from your event listener and gradio will display it in the front-end.
See the example below:

import gradio as gr
import altair as alt
from vega_datasets import data

cars = data.cars()
chart = (
    alt.Chart(cars)
    .mark_point()
    .encode(
        x="Horsepower",
        y="Miles_per_Gallon",
        color="Origin",
    )
)

with gr.Blocks() as demo:
    gr.Plot(value=chart)
demo.launch()

image

By @freddyaboulton in PR 2741

Set the background color of a Label component

The Label component now accepts a color argument by @freddyaboulton in PR 2736.
The color argument should either be a valid css color name or hexadecimal string.
You can update the color with gr.Label.update!

This lets you create Alert and Warning boxes with the Label component. See below:

import gradio as gr
import random

def update_color(value):
    if value < 0:
        # This is bad so use red
        return "#FF0000"
    elif 0 <= value <= 20:
        # Ok but pay attention (use orange)
        return "#ff9966"
    else:
        # Nothing to worry about
        return None

def update_value():
    choice = random.choice(['good', 'bad', 'so-so'])
    color = update_color(choice)
    return gr.Label.update(value=choice, color=color)
    
    
with gr.Blocks() as demo:
    label = gr.Label(value=-10)
    demo.load(lambda: update_value(), inputs=None, outputs=[label], every=1)
demo.queue().launch()

label_bg_color_update

Add Brazilian Portuguese translation

Add Brazilian Portuguese translation (pt-BR.json) by @pstwh in PR 2753:

image

Bug Fixes:

  • Fixed issue where image thumbnails were not showing when an example directory was provided
    by by @abidlabs in PR 2745
  • Fixed bug loading audio input models from the hub by @freddyaboulton in PR 2779.
  • Fixed issue where entities were not merged when highlighted text was generated from the
    dictionary inputs @payoto in PR 2767
  • Fixed bug where generating events did not finish running even if the websocket connection was closed by @freddyaboulton in PR 2783.

Documentation Changes:

No changes to highlight.

Testing and Infrastructure Changes:

No changes to highlight.

Breaking Changes:

No changes to highlight.

Full Changelog:

Contributors Shoutout:

No changes to highlight.

Don't miss a new gradio release

NewReleases is sending notifications on new releases.