Skip to main content

Gradio library for easily interacting with remote sandbox.

Project description

gradio_sandboxcomponent

PyPI - Version

Gradio library for easily interacting with remote sandbox.

Installation

pip install gradio_sandboxcomponent

Usage

from typing import Any
import gradio as gr
from gradio_sandboxcomponent import SandboxComponent

example = SandboxComponent().example_value()


with gr.Blocks() as demo:
    with gr.Tab("Sandbox Demo"):
        with gr.Row():
            gr.Markdown("## Sandbox")
        with gr.Row():
            sandboxUrl = gr.Textbox(
                label="Sandbox URL",
                value='https://www.gradio.app/',
                placeholder="Enter sandbox URL",
                lines=1,
                show_label=True,
            )
            sandboxInteractions = gr.Textbox(
                label="Sandbox Interactions",
                value='[]',
                placeholder="Enter sandbox interactions",
                lines=1,
                show_label=True,
            )
        with gr.Row():
            sandbox = SandboxComponent(
                label="Sandbox Example",
                value=("https://www.gradio.app/", True, []),
                show_label=True)

        def update_outputs(sandboxData: tuple[str, list[Any]]):
            sandboxUrl, _, sandboxInteractions = sandboxData
            print(
                "UPDATING",
                sandboxData
            )
            return sandboxUrl, str(sandboxInteractions)

        sandbox.change(
            update_outputs,
            inputs=[sandbox],
            outputs=[sandboxUrl, sandboxInteractions]
        )

        def update_sandbox_url(url: str):
            sandbox.value = (url, True, [])
            return sandbox.value

        sandboxUrl.change(
            update_sandbox_url,
            inputs=[sandboxUrl],
            outputs=[sandbox]
        )

if __name__ == "__main__":
    demo.launch()

SandboxComponent

Initialization

name type default description
value
tuple[str, bool, list[Any]] | Callable | None
None url string and interactions.
label
str | None
None the label for this component, displayed above the component if `show_label` is `True` and is also used as the header if there are a table of examples for this component. If None and used in a `gr.Interface`, the label will be the name of the parameter this component corresponds to.
every
Timer | float | None
None Continously calls `value` to recalculate it if `value` is a function (has no effect otherwise). Can provide a Timer whose tick resets `value`, or a float that provides the regular interval for the reset Timer.
inputs
Component | Sequence[Component] | set[Component] | None
None Components that are used as inputs to calculate `value` if `value` is a function (has no effect otherwise). `value` is recalculated any time the inputs change.
show_label
bool | None
None if True, will display label.
scale
int | None
None relative size compared to adjacent Components. For example if Components A and B are in a Row, and A has scale=2, and B has scale=1, A will be twice as wide as B. Should be an integer. scale applies in Rows, and to top-level Components in Blocks where fill_height=True.
min_width
int
160 minimum pixel width, will wrap if not sufficient screen space to satisfy this value. If a certain scale value results in this Component being narrower than min_width, the min_width parameter will be respected first.
interactive
bool | None
None if True, will be rendered as an editable textbox; if False, editing will be disabled. If not provided, this is inferred based on whether the component is used as an input or output.
visible
bool
True If False, component will be hidden.
elem_id
str | None
None None
elem_classes
list[str] | str | None
None An optional list of strings that are assigned as the classes of this component in the HTML DOM. Can be used for targeting CSS styles.
render
bool
True If False, component will not render be rendered in the Blocks context. Should be used if the intention is to assign event listeners now but render the component later.
key
int | str | None
None if assigned, will be used to assume identity across a re-render. Components that have the same key across a re-render will have their value preserved.

Events

name description
change Triggered when the value of the SandboxComponent changes either because of user input (e.g. a user types in a textbox) OR because of a function update (e.g. an image receives a value from the output of an event trigger). See .input() for a listener that is only triggered by user input.
input This listener is triggered when the user changes the value of the SandboxComponent.
submit This listener is triggered when the user presses the Enter key while the SandboxComponent is focused.

User function

The impact on the users predict function varies depending on whether the component is used as an input or output for an event (or both).

  • When used as an Input, the component only impacts the input signature of the user function.
  • When used as an output, the component only impacts the return signature of the user function.

The code snippet below is accurate in cases where the component is used as both an input and an output.

  • As output: Is passed, the preprocessed input data sent to the user's function in the backend.
  • As input: Should return, the output data received by the component from the user's function in the backend.
def predict(
    value: tuple[str, bool, list[typing.Any]] | None
) -> tuple[str, bool, list[typing.Any]] | dict | None:
    return value

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_sandboxcomponent-0.1.2.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gradio_sandboxcomponent-0.1.2-py3-none-any.whl (1.2 MB view details)

Uploaded Python 3

File details

Details for the file gradio_sandboxcomponent-0.1.2.tar.gz.

File metadata

  • Download URL: gradio_sandboxcomponent-0.1.2.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.13.1

File hashes

Hashes for gradio_sandboxcomponent-0.1.2.tar.gz
Algorithm Hash digest
SHA256 7526e9e6bbc49060c548139aa784ac658acd8ba6d3836504b96e1243be995e06
MD5 204364879b97db287dd10733958d09e5
BLAKE2b-256 b89d5218314737bd7c35690c5ec4518822e57d299334b77e83f31be50df415ae

See more details on using hashes here.

File details

Details for the file gradio_sandboxcomponent-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for gradio_sandboxcomponent-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 19ca3442f7daae19cbb4f61fd21c7a0b6cfcc6a9f4f34ebddb4b4b0ec3f11933
MD5 f1710e86c5ce571447f8e512c2f125e8
BLAKE2b-256 6f3958517edca2ff0a2853d0274f212ff7dd455b7c10f64c1cd17d429e5e86ab

See more details on using hashes here.

Supported by

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