Skip to main content

Experimental empowered iFrame component based on existing HTML gradio component.

Project description

gradio_iframe

A custom gradio component to embed an iframe in a gradio interface. This component is based on the HTML component. It's currently still a work in progress.

Usage

The usage is similar to the HTML component. You can pass valid html and it will be rendered in the interface as an iframe, meaning you can embed any website or webapp that supports iframes. Also, JavaScript should run normal. You can even pass an iframe inside an iframe (see below!), i.e. a youtube or spotify embed.

The size will adjust to the size of the iframe (onload), this is gonna be a bit delayed. The width is default at 100%. You can also set the height and width manually.

Example

import gradio as gr
from gradio_iframe import iFrame

gr.Interface(
    iFrame(
        label="iFrame Example",
        value=("""
        <iframe width="560" 
            height="315" 
            src="https://www.youtube.com/embed/dQw4w9WgXcQ?si=QfHLpHZsI98oZT1G" 
            title="YouTube video player" 
            frameborder="0" 
            allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" 
            allowfullscreen>
        </iframe>"""),
        show_label=True)
)

Roadmap

  • Add manual hand over of other iFrame options.
  • Explore switch between src and srcdoc through variable.

Known Issues

There are many reason why it's not a good idea to embed websites in an iframe. See this, or just google "iframe security concerns" for more information. Also, iFrames will use additional computing power and memory, which can slow down the interface.

Also, this component is still a work in progress and not fully tested. Use at your own risk.

Other Issues

  • Height sometimes does not grow according to the inner component.
  • The component is not completely responsive yet and struggles with variable heigth.
  • ...

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gradio_iframe-0.0.10.tar.gz (32.3 kB view hashes)

Uploaded Source

Built Distribution

gradio_iframe-0.0.10-py3-none-any.whl (24.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page