gradio-app

gradio: Build and Share Python Web Apps for Machine Learning

Gradio turns Python functions and machine-learning models into interactive web apps without requiring frontend development. Use it to prototype interfaces, share demos, or build more customized apps with components and event-driven layouts.

Stars
43.7k
Forks
3.6k
Stars, last 7 days
+77

Our take

Health score

77/100

How it is scored
Activity
91
Community
90
Issues
74
Pull requests
53

+77 stars in the last 7 days

  • Releases more often than 93% of the projects we track
  • Merges more pull requests than 93% of the projects we track
  • More contributors than 77% of the projects we track
  • Slower to merge pull requests than 86% of the projects we track

Overview

Gradio is a Python library for adding a browser-based interface to a Python function, model, or API. It handles the UI and app launch so developers can let people interact with their work without building a frontend from scratch.

It suits both quick demos and more involved applications: use its high-level interfaces for standard input-and-output flows, or its customizable layouts and interactions when a simple form is not enough. Built-in sharing can expose a running demo through a public link while computation remains on the developer's machine.

Key Features

  • Wrap Python functions in interfaces with configurable input and output components.
  • Use built-in components for common inputs and outputs, including text and images.
  • Build custom layouts and interaction flows with gr.Blocks.
  • Create chatbot interfaces with gr.ChatInterface.
  • Launch apps locally or generate a shareable public link.
  • Query Gradio apps programmatically through Python and JavaScript clients.
  • Develop locally with hot reload mode.

Use Cases

  • A machine-learning developer can put a model behind an interactive demo for teammates or users.
  • A data scientist can let colleagues explore a Python analysis or visualization without asking them to run code.
  • An educator can provide browser-based examples that students can try from a notebook or local app.
  • An application developer can prototype an AI web interface in Python, then use Blocks for more customized layouts and behavior.

Getting Started

Requires Python 3.10 or higher. Install Gradio with:

pip install --upgrade gradio

See the README for a first-app example and further setup details.

Considerations

  • The project requires Python 3.10 or higher.
  • A shareable link makes a running app publicly accessible. Consider what the app exposes before enabling sharing.
  • Gradio provides the interface layer, but the Python function or model and its computation remain your responsibility.
  • More customized interfaces may require learning the Blocks layout and event model.

Found this useful?

Share it with someone who would like gradio.

Comparisons