Spaces:
Runtime error
Runtime error
| """Contains all of the events that can be triggered in a gr.Blocks() app, with the exception | |
| of the on-page-load event, which is defined in gr.Blocks().load().""" | |
| from __future__ import annotations | |
| import warnings | |
| from typing import TYPE_CHECKING, Any, Callable, Dict, List, Set | |
| from gradio.blocks import Block | |
| from gradio.utils import get_cancel_function | |
| if TYPE_CHECKING: # Only import for type checking (is False at runtime). | |
| from gradio.components import Component, StatusTracker | |
| def set_cancel_events( | |
| block: Block, event_name: str, cancels: None | Dict[str, Any] | List[Dict[str, Any]] | |
| ): | |
| if cancels: | |
| if not isinstance(cancels, list): | |
| cancels = [cancels] | |
| cancel_fn, fn_indices_to_cancel = get_cancel_function(cancels) | |
| block.set_event_trigger( | |
| event_name, | |
| cancel_fn, | |
| inputs=None, | |
| outputs=None, | |
| queue=False, | |
| preprocess=False, | |
| cancels=fn_indices_to_cancel, | |
| ) | |
| class EventListener(Block): | |
| pass | |
| class Changeable(EventListener): | |
| def change( | |
| self, | |
| fn: Callable | None, | |
| inputs: Component | List[Component] | Set[Component] | None = None, | |
| outputs: Component | List[Component] | None = None, | |
| api_name: str | None = None, | |
| status_tracker: StatusTracker | None = None, | |
| scroll_to_output: bool = False, | |
| show_progress: bool = True, | |
| queue: bool | None = None, | |
| batch: bool = False, | |
| max_batch_size: int = 4, | |
| preprocess: bool = True, | |
| postprocess: bool = True, | |
| cancels: Dict[str, Any] | List[Dict[str, Any]] | None = None, | |
| every: float | None = None, | |
| _js: str | None = None, | |
| ): | |
| """ | |
| This event is triggered when the component's input value changes (e.g. when the user types in a textbox | |
| or uploads an image). This method can be used when this component is in a Gradio Blocks. | |
| Parameters: | |
| fn: the function to wrap an interface around. Often a machine learning model's prediction function. Each parameter of the function corresponds to one input component, and the function should return a single value or a tuple of values, with each element in the tuple corresponding to one output component. | |
| inputs: List of gradio.components to use as inputs. If the function takes no inputs, this should be an empty list. | |
| outputs: List of gradio.components to use as inputs. If the function returns no outputs, this should be an empty list. | |
| api_name: Defining this parameter exposes the endpoint in the api docs | |
| scroll_to_output: If True, will scroll to output component on completion | |
| show_progress: If True, will show progress animation while pending | |
| queue: If True, will place the request on the queue, if the queue exists | |
| batch: If True, then the function should process a batch of inputs, meaning that it should accept a list of input values for each parameter. The lists should be of equal length (and be up to length `max_batch_size`). The function is then *required* to return a tuple of lists (even if there is only 1 output component), with each list in the tuple corresponding to one output component. | |
| max_batch_size: Maximum number of inputs to batch together if this is called from the queue (only relevant if batch=True) | |
| preprocess: If False, will not run preprocessing of component data before running 'fn' (e.g. leaving it as a base64 string if this method is called with the `Image` component). | |
| postprocess: If False, will not run postprocessing of component data before returning 'fn' output to the browser. | |
| cancels: A list of other events to cancel when this event is triggered. For example, setting cancels=[click_event] will cancel the click_event, where click_event is the return value of another components .click method. | |
| every: Run this event 'every' number of seconds while the client connection is open. Interpreted in seconds. Queue must be enabled. | |
| """ | |
| # _js: Optional frontend js method to run before running 'fn'. Input arguments for js method are values of 'inputs' and 'outputs', return should be a list of values for output components. | |
| if status_tracker: | |
| warnings.warn( | |
| "The 'status_tracker' parameter has been deprecated and has no effect." | |
| ) | |
| dep = self.set_event_trigger( | |
| "change", | |
| fn, | |
| inputs, | |
| outputs, | |
| preprocess=preprocess, | |
| postprocess=postprocess, | |
| scroll_to_output=scroll_to_output, | |
| show_progress=show_progress, | |
| api_name=api_name, | |
| js=_js, | |
| queue=queue, | |
| batch=batch, | |
| max_batch_size=max_batch_size, | |
| every=every, | |
| ) | |
| set_cancel_events(self, "change", cancels) | |
| return dep | |
| class Clickable(EventListener): | |
| def click( | |
| self, | |
| fn: Callable | None, | |
| inputs: Component | List[Component] | Set[Component] | None = None, | |
| outputs: Component | List[Component] | None = None, | |
| api_name: str | None = None, | |
| status_tracker: StatusTracker | None = None, | |
| scroll_to_output: bool = False, | |
| show_progress: bool = True, | |
| queue=None, | |
| batch: bool = False, | |
| max_batch_size: int = 4, | |
| preprocess: bool = True, | |
| postprocess: bool = True, | |
| cancels: Dict[str, Any] | List[Dict[str, Any]] | None = None, | |
| every: float | None = None, | |
| _js: str | None = None, | |
| ): | |
| """ | |
| This event is triggered when the component (e.g. a button) is clicked. | |
| This method can be used when this component is in a Gradio Blocks. | |
| Parameters: | |
| fn: the function to wrap an interface around. Often a machine learning model's prediction function. Each parameter of the function corresponds to one input component, and the function should return a single value or a tuple of values, with each element in the tuple corresponding to one output component. | |
| inputs: List of gradio.components to use as inputs. If the function takes no inputs, this should be an empty list. | |
| outputs: List of gradio.components to use as inputs. If the function returns no outputs, this should be an empty list. | |
| api_name: Defining this parameter exposes the endpoint in the api docs | |
| scroll_to_output: If True, will scroll to output component on completion | |
| show_progress: If True, will show progress animation while pending | |
| queue: If True, will place the request on the queue, if the queue exists | |
| batch: If True, then the function should process a batch of inputs, meaning that it should accept a list of input values for each parameter. The lists should be of equal length (and be up to length `max_batch_size`). The function is then *required* to return a tuple of lists (even if there is only 1 output component), with each list in the tuple corresponding to one output component. | |
| max_batch_size: Maximum number of inputs to batch together if this is called from the queue (only relevant if batch=True) | |
| preprocess: If False, will not run preprocessing of component data before running 'fn' (e.g. leaving it as a base64 string if this method is called with the `Image` component). | |
| postprocess: If False, will not run postprocessing of component data before returning 'fn' output to the browser. | |
| cancels: A list of other events to cancel when this event is triggered. For example, setting cancels=[click_event] will cancel the click_event, where click_event is the return value of another components .click method. | |
| every: Run this event 'every' number of seconds while the client connection is open. Interpreted in seconds. Queue must be enabled. | |
| """ | |
| # _js: Optional frontend js method to run before running 'fn'. Input arguments for js method are values of 'inputs' and 'outputs', return should be a list of values for output components. | |
| if status_tracker: | |
| warnings.warn( | |
| "The 'status_tracker' parameter has been deprecated and has no effect." | |
| ) | |
| dep = self.set_event_trigger( | |
| "click", | |
| fn, | |
| inputs, | |
| outputs, | |
| preprocess=preprocess, | |
| postprocess=postprocess, | |
| scroll_to_output=scroll_to_output, | |
| show_progress=show_progress, | |
| api_name=api_name, | |
| js=_js, | |
| queue=queue, | |
| batch=batch, | |
| max_batch_size=max_batch_size, | |
| every=every, | |
| ) | |
| set_cancel_events(self, "click", cancels) | |
| return dep | |
| class Submittable(EventListener): | |
| def submit( | |
| self, | |
| fn: Callable | None, | |
| inputs: Component | List[Component] | Set[Component] | None = None, | |
| outputs: Component | List[Component] | None = None, | |
| api_name: str | None = None, | |
| status_tracker: StatusTracker | None = None, | |
| scroll_to_output: bool = False, | |
| show_progress: bool = True, | |
| queue: bool | None = None, | |
| batch: bool = False, | |
| max_batch_size: int = 4, | |
| preprocess: bool = True, | |
| postprocess: bool = True, | |
| cancels: Dict[str, Any] | List[Dict[str, Any]] | None = None, | |
| every: float | None = None, | |
| _js: str | None = None, | |
| ): | |
| """ | |
| This event is triggered when the user presses the Enter key while the component (e.g. a textbox) is focused. | |
| This method can be used when this component is in a Gradio Blocks. | |
| Parameters: | |
| fn: the function to wrap an interface around. Often a machine learning model's prediction function. Each parameter of the function corresponds to one input component, and the function should return a single value or a tuple of values, with each element in the tuple corresponding to one output component. | |
| inputs: List of gradio.components to use as inputs. If the function takes no inputs, this should be an empty list. | |
| outputs: List of gradio.components to use as inputs. If the function returns no outputs, this should be an empty list. | |
| api_name: Defining this parameter exposes the endpoint in the api docs | |
| scroll_to_output: If True, will scroll to output component on completion | |
| show_progress: If True, will show progress animation while pending | |
| queue: If True, will place the request on the queue, if the queue exists | |
| batch: If True, then the function should process a batch of inputs, meaning that it should accept a list of input values for each parameter. The lists should be of equal length (and be up to length `max_batch_size`). The function is then *required* to return a tuple of lists (even if there is only 1 output component), with each list in the tuple corresponding to one output component. | |
| max_batch_size: Maximum number of inputs to batch together if this is called from the queue (only relevant if batch=True) | |
| preprocess: If False, will not run preprocessing of component data before running 'fn' (e.g. leaving it as a base64 string if this method is called with the `Image` component). | |
| postprocess: If False, will not run postprocessing of component data before returning 'fn' output to the browser. | |
| cancels: A list of other events to cancel when this event is triggered. For example, setting cancels=[click_event] will cancel the click_event, where click_event is the return value of another components .click method. | |
| every: Run this event 'every' number of seconds while the client connection is open. Interpreted in seconds. Queue must be enabled. | |
| """ | |
| # _js: Optional frontend js method to run before running 'fn'. Input arguments for js method are values of 'inputs' and 'outputs', return should be a list of values for output components. | |
| if status_tracker: | |
| warnings.warn( | |
| "The 'status_tracker' parameter has been deprecated and has no effect." | |
| ) | |
| dep = self.set_event_trigger( | |
| "submit", | |
| fn, | |
| inputs, | |
| outputs, | |
| preprocess=preprocess, | |
| postprocess=postprocess, | |
| scroll_to_output=scroll_to_output, | |
| show_progress=show_progress, | |
| api_name=api_name, | |
| js=_js, | |
| queue=queue, | |
| batch=batch, | |
| max_batch_size=max_batch_size, | |
| every=every, | |
| ) | |
| set_cancel_events(self, "submit", cancels) | |
| return dep | |
| class Editable(EventListener): | |
| def edit( | |
| self, | |
| fn: Callable | None, | |
| inputs: Component | List[Component] | Set[Component] | None = None, | |
| outputs: Component | List[Component] | None = None, | |
| api_name: str | None = None, | |
| status_tracker: StatusTracker | None = None, | |
| scroll_to_output: bool = False, | |
| show_progress: bool = True, | |
| queue: bool | None = None, | |
| batch: bool = False, | |
| max_batch_size: int = 4, | |
| preprocess: bool = True, | |
| postprocess: bool = True, | |
| cancels: Dict[str, Any] | List[Dict[str, Any]] | None = None, | |
| every: float | None = None, | |
| _js: str | None = None, | |
| ): | |
| """ | |
| This event is triggered when the user edits the component (e.g. image) using the | |
| built-in editor. This method can be used when this component is in a Gradio Blocks. | |
| Parameters: | |
| fn: the function to wrap an interface around. Often a machine learning model's prediction function. Each parameter of the function corresponds to one input component, and the function should return a single value or a tuple of values, with each element in the tuple corresponding to one output component. | |
| inputs: List of gradio.components to use as inputs. If the function takes no inputs, this should be an empty list. | |
| outputs: List of gradio.components to use as inputs. If the function returns no outputs, this should be an empty list. | |
| api_name: Defining this parameter exposes the endpoint in the api docs | |
| scroll_to_output: If True, will scroll to output component on completion | |
| show_progress: If True, will show progress animation while pending | |
| queue: If True, will place the request on the queue, if the queue exists | |
| batch: If True, then the function should process a batch of inputs, meaning that it should accept a list of input values for each parameter. The lists should be of equal length (and be up to length `max_batch_size`). The function is then *required* to return a tuple of lists (even if there is only 1 output component), with each list in the tuple corresponding to one output component. | |
| max_batch_size: Maximum number of inputs to batch together if this is called from the queue (only relevant if batch=True) | |
| preprocess: If False, will not run preprocessing of component data before running 'fn' (e.g. leaving it as a base64 string if this method is called with the `Image` component). | |
| postprocess: If False, will not run postprocessing of component data before returning 'fn' output to the browser. | |
| cancels: A list of other events to cancel when this event is triggered. For example, setting cancels=[click_event] will cancel the click_event, where click_event is the return value of another components .click method. | |
| every: Run this event 'every' number of seconds while the client connection is open. Interpreted in seconds. Queue must be enabled. | |
| """ | |
| # _js: Optional frontend js method to run before running 'fn'. Input arguments for js method are values of 'inputs' and 'outputs', return should be a list of values for output components. | |
| if status_tracker: | |
| warnings.warn( | |
| "The 'status_tracker' parameter has been deprecated and has no effect." | |
| ) | |
| dep = self.set_event_trigger( | |
| "edit", | |
| fn, | |
| inputs, | |
| outputs, | |
| preprocess=preprocess, | |
| postprocess=postprocess, | |
| scroll_to_output=scroll_to_output, | |
| show_progress=show_progress, | |
| api_name=api_name, | |
| js=_js, | |
| queue=queue, | |
| batch=batch, | |
| max_batch_size=max_batch_size, | |
| every=every, | |
| ) | |
| set_cancel_events(self, "edit", cancels) | |
| return dep | |
| class Clearable(EventListener): | |
| def clear( | |
| self, | |
| fn: Callable | None, | |
| inputs: Component | List[Component] | Set[Component] | None = None, | |
| outputs: Component | List[Component] | None = None, | |
| api_name: str | None = None, | |
| status_tracker: StatusTracker | None = None, | |
| scroll_to_output: bool = False, | |
| show_progress: bool = True, | |
| queue: bool | None = None, | |
| batch: bool = False, | |
| max_batch_size: int = 4, | |
| preprocess: bool = True, | |
| postprocess: bool = True, | |
| cancels: Dict[str, Any] | List[Dict[str, Any]] | None = None, | |
| every: float | None = None, | |
| _js: str | None = None, | |
| ): | |
| """ | |
| This event is triggered when the user clears the component (e.g. image or audio) | |
| using the X button for the component. This method can be used when this component is in a Gradio Blocks. | |
| Parameters: | |
| fn: the function to wrap an interface around. Often a machine learning model's prediction function. Each parameter of the function corresponds to one input component, and the function should return a single value or a tuple of values, with each element in the tuple corresponding to one output component. | |
| inputs: List of gradio.components to use as inputs. If the function takes no inputs, this should be an empty list. | |
| outputs: List of gradio.components to use as inputs. If the function returns no outputs, this should be an empty list. | |
| api_name: Defining this parameter exposes the endpoint in the api docs | |
| scroll_to_output: If True, will scroll to output component on completion | |
| show_progress: If True, will show progress animation while pending | |
| queue: If True, will place the request on the queue, if the queue exists | |
| batch: If True, then the function should process a batch of inputs, meaning that it should accept a list of input values for each parameter. The lists should be of equal length (and be up to length `max_batch_size`). The function is then *required* to return a tuple of lists (even if there is only 1 output component), with each list in the tuple corresponding to one output component. | |
| max_batch_size: Maximum number of inputs to batch together if this is called from the queue (only relevant if batch=True) | |
| preprocess: If False, will not run preprocessing of component data before running 'fn' (e.g. leaving it as a base64 string if this method is called with the `Image` component). | |
| postprocess: If False, will not run postprocessing of component data before returning 'fn' output to the browser. | |
| cancels: A list of other events to cancel when this event is triggered. For example, setting cancels=[click_event] will cancel the click_event, where click_event is the return value of another components .click method. | |
| every: Run this event 'every' number of seconds while the client connection is open. Interpreted in seconds. Queue must be enabled. | |
| """ | |
| # _js: Optional frontend js method to run before running 'fn'. Input arguments for js method are values of 'inputs' and 'outputs', return should be a list of values for output components. | |
| if status_tracker: | |
| warnings.warn( | |
| "The 'status_tracker' parameter has been deprecated and has no effect." | |
| ) | |
| dep = self.set_event_trigger( | |
| "submit", | |
| fn, | |
| inputs, | |
| outputs, | |
| preprocess=preprocess, | |
| postprocess=postprocess, | |
| scroll_to_output=scroll_to_output, | |
| show_progress=show_progress, | |
| api_name=api_name, | |
| js=_js, | |
| queue=queue, | |
| batch=batch, | |
| max_batch_size=max_batch_size, | |
| every=every, | |
| ) | |
| set_cancel_events(self, "submit", cancels) | |
| return dep | |
| class Playable(EventListener): | |
| def play( | |
| self, | |
| fn: Callable | None, | |
| inputs: Component | List[Component] | Set[Component] | None = None, | |
| outputs: Component | List[Component] | None = None, | |
| api_name: str | None = None, | |
| status_tracker: StatusTracker | None = None, | |
| scroll_to_output: bool = False, | |
| show_progress: bool = True, | |
| queue: bool | None = None, | |
| batch: bool = False, | |
| max_batch_size: int = 4, | |
| preprocess: bool = True, | |
| postprocess: bool = True, | |
| cancels: Dict[str, Any] | List[Dict[str, Any]] | None = None, | |
| every: float | None = None, | |
| _js: str | None = None, | |
| ): | |
| """ | |
| This event is triggered when the user plays the component (e.g. audio or video). | |
| This method can be used when this component is in a Gradio Blocks. | |
| Parameters: | |
| fn: the function to wrap an interface around. Often a machine learning model's prediction function. Each parameter of the function corresponds to one input component, and the function should return a single value or a tuple of values, with each element in the tuple corresponding to one output component. | |
| inputs: List of gradio.components to use as inputs. If the function takes no inputs, this should be an empty list. | |
| outputs: List of gradio.components to use as inputs. If the function returns no outputs, this should be an empty list. | |
| api_name: Defining this parameter exposes the endpoint in the api docs | |
| scroll_to_output: If True, will scroll to output component on completion | |
| show_progress: If True, will show progress animation while pending | |
| queue: If True, will place the request on the queue, if the queue exists | |
| batch: If True, then the function should process a batch of inputs, meaning that it should accept a list of input values for each parameter. The lists should be of equal length (and be up to length `max_batch_size`). The function is then *required* to return a tuple of lists (even if there is only 1 output component), with each list in the tuple corresponding to one output component. | |
| max_batch_size: Maximum number of inputs to batch together if this is called from the queue (only relevant if batch=True) | |
| preprocess: If False, will not run preprocessing of component data before running 'fn' (e.g. leaving it as a base64 string if this method is called with the `Image` component). | |
| postprocess: If False, will not run postprocessing of component data before returning 'fn' output to the browser. | |
| cancels: A list of other events to cancel when this event is triggered. For example, setting cancels=[click_event] will cancel the click_event, where click_event is the return value of another components .click method. | |
| every: Run this event 'every' number of seconds while the client connection is open. Interpreted in seconds. Queue must be enabled. | |
| """ | |
| # _js: Optional frontend js method to run before running 'fn'. Input arguments for js method are values of 'inputs' and 'outputs', return should be a list of values for output components. | |
| if status_tracker: | |
| warnings.warn( | |
| "The 'status_tracker' parameter has been deprecated and has no effect." | |
| ) | |
| dep = self.set_event_trigger( | |
| "play", | |
| fn, | |
| inputs, | |
| outputs, | |
| preprocess=preprocess, | |
| postprocess=postprocess, | |
| scroll_to_output=scroll_to_output, | |
| show_progress=show_progress, | |
| api_name=api_name, | |
| js=_js, | |
| queue=queue, | |
| batch=batch, | |
| max_batch_size=max_batch_size, | |
| every=every, | |
| ) | |
| set_cancel_events(self, "play", cancels) | |
| return dep | |
| def pause( | |
| self, | |
| fn: Callable | None, | |
| inputs: Component | List[Component] | Set[Component] | None = None, | |
| outputs: Component | List[Component] | None = None, | |
| api_name: str | None = None, | |
| status_tracker: StatusTracker | None = None, | |
| scroll_to_output: bool = False, | |
| show_progress: bool = True, | |
| queue: bool | None = None, | |
| batch: bool = False, | |
| max_batch_size: int = 4, | |
| preprocess: bool = True, | |
| postprocess: bool = True, | |
| cancels: Dict[str, Any] | List[Dict[str, Any]] | None = None, | |
| every: float | None = None, | |
| _js: str | None = None, | |
| ): | |
| """ | |
| This event is triggered when the user pauses the component (e.g. audio or video). | |
| This method can be used when this component is in a Gradio Blocks. | |
| Parameters: | |
| fn: the function to wrap an interface around. Often a machine learning model's prediction function. Each parameter of the function corresponds to one input component, and the function should return a single value or a tuple of values, with each element in the tuple corresponding to one output component. | |
| inputs: List of gradio.components to use as inputs. If the function takes no inputs, this should be an empty list. | |
| outputs: List of gradio.components to use as inputs. If the function returns no outputs, this should be an empty list. | |
| api_name: Defining this parameter exposes the endpoint in the api docs | |
| scroll_to_output: If True, will scroll to output component on completion | |
| show_progress: If True, will show progress animation while pending | |
| queue: If True, will place the request on the queue, if the queue exists | |
| batch: If True, then the function should process a batch of inputs, meaning that it should accept a list of input values for each parameter. The lists should be of equal length (and be up to length `max_batch_size`). The function is then *required* to return a tuple of lists (even if there is only 1 output component), with each list in the tuple corresponding to one output component. | |
| max_batch_size: Maximum number of inputs to batch together if this is called from the queue (only relevant if batch=True) | |
| preprocess: If False, will not run preprocessing of component data before running 'fn' (e.g. leaving it as a base64 string if this method is called with the `Image` component). | |
| postprocess: If False, will not run postprocessing of component data before returning 'fn' output to the browser. | |
| cancels: A list of other events to cancel when this event is triggered. For example, setting cancels=[click_event] will cancel the click_event, where click_event is the return value of another components .click method. | |
| every: Run this event 'every' number of seconds while the client connection is open. Interpreted in seconds. Queue must be enabled. | |
| """ | |
| # _js: Optional frontend js method to run before running 'fn'. Input arguments for js method are values of 'inputs' and 'outputs', return should be a list of values for output components. | |
| if status_tracker: | |
| warnings.warn( | |
| "The 'status_tracker' parameter has been deprecated and has no effect." | |
| ) | |
| dep = self.set_event_trigger( | |
| "pause", | |
| fn, | |
| inputs, | |
| outputs, | |
| preprocess=preprocess, | |
| postprocess=postprocess, | |
| scroll_to_output=scroll_to_output, | |
| show_progress=show_progress, | |
| api_name=api_name, | |
| js=_js, | |
| queue=queue, | |
| batch=batch, | |
| max_batch_size=max_batch_size, | |
| every=every, | |
| ) | |
| set_cancel_events(self, "pause", cancels) | |
| return dep | |
| def stop( | |
| self, | |
| fn: Callable | None, | |
| inputs: Component | List[Component] | Set[Component] | None = None, | |
| outputs: Component | List[Component] | None = None, | |
| api_name: str | None = None, | |
| status_tracker: StatusTracker | None = None, | |
| scroll_to_output: bool = False, | |
| show_progress: bool = True, | |
| queue: bool | None = None, | |
| batch: bool = False, | |
| max_batch_size: int = 4, | |
| preprocess: bool = True, | |
| postprocess: bool = True, | |
| cancels: Dict[str, Any] | List[Dict[str, Any]] | None = None, | |
| every: float | None = None, | |
| _js: str | None = None, | |
| ): | |
| """ | |
| This event is triggered when the user stops the component (e.g. audio or video). | |
| This method can be used when this component is in a Gradio Blocks. | |
| Parameters: | |
| fn: the function to wrap an interface around. Often a machine learning model's prediction function. Each parameter of the function corresponds to one input component, and the function should return a single value or a tuple of values, with each element in the tuple corresponding to one output component. | |
| inputs: List of gradio.components to use as inputs. If the function takes no inputs, this should be an empty list. | |
| outputs: List of gradio.components to use as inputs. If the function returns no outputs, this should be an empty list. | |
| api_name: Defining this parameter exposes the endpoint in the api docs | |
| scroll_to_output: If True, will scroll to output component on completion | |
| show_progress: If True, will show progress animation while pending | |
| queue: If True, will place the request on the queue, if the queue exists | |
| batch: If True, then the function should process a batch of inputs, meaning that it should accept a list of input values for each parameter. The lists should be of equal length (and be up to length `max_batch_size`). The function is then *required* to return a tuple of lists (even if there is only 1 output component), with each list in the tuple corresponding to one output component. | |
| max_batch_size: Maximum number of inputs to batch together if this is called from the queue (only relevant if batch=True) | |
| preprocess: If False, will not run preprocessing of component data before running 'fn' (e.g. leaving it as a base64 string if this method is called with the `Image` component). | |
| postprocess: If False, will not run postprocessing of component data before returning 'fn' output to the browser. | |
| cancels: A list of other events to cancel when this event is triggered. For example, setting cancels=[click_event] will cancel the click_event, where click_event is the return value of another components .click method. | |
| every: Run this event 'every' number of seconds while the client connection is open. Interpreted in seconds. Queue must be enabled. | |
| """ | |
| # _js: Optional frontend js method to run before running 'fn'. Input arguments for js method are values of 'inputs' and 'outputs', return should be a list of values for output components. | |
| if status_tracker: | |
| warnings.warn( | |
| "The 'status_tracker' parameter has been deprecated and has no effect." | |
| ) | |
| dep = self.set_event_trigger( | |
| "stop", | |
| fn, | |
| inputs, | |
| outputs, | |
| preprocess=preprocess, | |
| postprocess=postprocess, | |
| scroll_to_output=scroll_to_output, | |
| show_progress=show_progress, | |
| api_name=api_name, | |
| js=_js, | |
| queue=queue, | |
| batch=batch, | |
| max_batch_size=max_batch_size, | |
| every=every, | |
| ) | |
| set_cancel_events(self, "stop", cancels) | |
| return dep | |
| class Streamable(EventListener): | |
| def stream( | |
| self, | |
| fn: Callable | None, | |
| inputs: Component | List[Component] | Set[Component] | None = None, | |
| outputs: Component | List[Component] | None = None, | |
| api_name: str | None = None, | |
| status_tracker: StatusTracker | None = None, | |
| scroll_to_output: bool = False, | |
| show_progress: bool = False, | |
| queue: bool | None = None, | |
| batch: bool = False, | |
| max_batch_size: int = 4, | |
| preprocess: bool = True, | |
| postprocess: bool = True, | |
| cancels: Dict[str, Any] | List[Dict[str, Any]] | None = None, | |
| every: float | None = None, | |
| _js: str | None = None, | |
| ): | |
| """ | |
| This event is triggered when the user streams the component (e.g. a live webcam | |
| component). This method can be used when this component is in a Gradio Blocks. | |
| Parameters: | |
| fn: the function to wrap an interface around. Often a machine learning model's prediction function. Each parameter of the function corresponds to one input component, and the function should return a single value or a tuple of values, with each element in the tuple corresponding to one output component. | |
| inputs: List of gradio.components to use as inputs. If the function takes no inputs, this should be an empty list. | |
| outputs: List of gradio.components to use as inputs. If the function returns no outputs, this should be an empty list. | |
| api_name: Defining this parameter exposes the endpoint in the api docs | |
| scroll_to_output: If True, will scroll to output component on completion | |
| show_progress: If True, will show progress animation while pending | |
| queue: If True, will place the request on the queue, if the queue exists | |
| batch: If True, then the function should process a batch of inputs, meaning that it should accept a list of input values for each parameter. The lists should be of equal length (and be up to length `max_batch_size`). The function is then *required* to return a tuple of lists (even if there is only 1 output component), with each list in the tuple corresponding to one output component. | |
| max_batch_size: Maximum number of inputs to batch together if this is called from the queue (only relevant if batch=True) | |
| preprocess: If False, will not run preprocessing of component data before running 'fn' (e.g. leaving it as a base64 string if this method is called with the `Image` component). | |
| postprocess: If False, will not run postprocessing of component data before returning 'fn' output to the browser. | |
| cancels: A list of other events to cancel when this event is triggered. For example, setting cancels=[click_event] will cancel the click_event, where click_event is the return value of another components .click method. | |
| every: Run this event 'every' number of seconds while the client connection is open. Interpreted in seconds. Queue must be enabled. | |
| """ | |
| # _js: Optional frontend js method to run before running 'fn'. Input arguments for js method are values of 'inputs' and 'outputs', return should be a list of values for output components. | |
| self.streaming = True | |
| if status_tracker: | |
| warnings.warn( | |
| "The 'status_tracker' parameter has been deprecated and has no effect." | |
| ) | |
| dep = self.set_event_trigger( | |
| "stream", | |
| fn, | |
| inputs, | |
| outputs, | |
| preprocess=preprocess, | |
| postprocess=postprocess, | |
| scroll_to_output=scroll_to_output, | |
| show_progress=show_progress, | |
| api_name=api_name, | |
| js=_js, | |
| queue=queue, | |
| batch=batch, | |
| max_batch_size=max_batch_size, | |
| every=every, | |
| ) | |
| set_cancel_events(self, "stream", cancels) | |
| return dep | |
| class Blurrable(EventListener): | |
| def blur( | |
| self, | |
| fn: Callable | None, | |
| inputs: Component | List[Component] | Set[Component] | None = None, | |
| outputs: Component | List[Component] | None = None, | |
| api_name: str | None = None, | |
| scroll_to_output: bool = False, | |
| show_progress: bool = True, | |
| queue: bool | None = None, | |
| batch: bool = False, | |
| max_batch_size: int = 4, | |
| preprocess: bool = True, | |
| postprocess: bool = True, | |
| cancels: Dict[str, Any] | List[Dict[str, Any]] | None = None, | |
| every: float | None = None, | |
| _js: str | None = None, | |
| ): | |
| """ | |
| This event is triggered when the component's is unfocused/blurred (e.g. when the user clicks outside of a textbox). This method can be used when this component is in a Gradio Blocks. | |
| Parameters: | |
| fn: Callable function | |
| inputs: List of gradio.components to use as inputs. If the function takes no inputs, this should be an empty list. | |
| outputs: List of gradio.components to use as inputs. If the function returns no outputs, this should be an empty list. | |
| api_name: Defining this parameter exposes the endpoint in the api docs | |
| scroll_to_output: If True, will scroll to output component on completion | |
| show_progress: If True, will show progress animation while pending | |
| queue: If True, will place the request on the queue, if the queue exists | |
| batch: If True, then the function should process a batch of inputs, meaning that it should accept a list of input values for each parameter. The lists should be of equal length (and be up to length `max_batch_size`). The function is then *required* to return a tuple of lists (even if there is only 1 output component), with each list in the tuple corresponding to one output component. | |
| max_batch_size: Maximum number of inputs to batch together if this is called from the queue (only relevant if batch=True) | |
| preprocess: If False, will not run preprocessing of component data before running 'fn' (e.g. leaving it as a base64 string if this method is called with the `Image` component). | |
| postprocess: If False, will not run postprocessing of component data before returning 'fn' output to the browser. | |
| cancels: A list of other events to cancel when this event is triggered. For example, setting cancels=[click_event] will cancel the click_event, where click_event is the return value of another components .click method. | |
| every: Run this event 'every' number of seconds while the client connection is open. Interpreted in seconds. Queue must be enabled. | |
| """ | |
| # _js: Optional frontend js method to run before running 'fn'. Input arguments for js method are values of 'inputs' and 'outputs', return should be a list of values for output components. | |
| self.set_event_trigger( | |
| "blur", | |
| fn, | |
| inputs, | |
| outputs, | |
| preprocess=preprocess, | |
| postprocess=postprocess, | |
| scroll_to_output=scroll_to_output, | |
| show_progress=show_progress, | |
| api_name=api_name, | |
| js=_js, | |
| queue=queue, | |
| batch=batch, | |
| max_batch_size=max_batch_size, | |
| every=every, | |
| ) | |
| set_cancel_events(self, "blur", cancels) | |
| class Uploadable(EventListener): | |
| def upload( | |
| self, | |
| fn: Callable | None, | |
| inputs: List[Component], | |
| outputs: Component | List[Component] | None = None, | |
| api_name: str | None = None, | |
| scroll_to_output: bool = False, | |
| show_progress: bool = True, | |
| queue: bool | None = None, | |
| batch: bool = False, | |
| max_batch_size: int = 4, | |
| preprocess: bool = True, | |
| postprocess: bool = True, | |
| cancels: List[Dict[str, Any]] | None = None, | |
| every: float | None = None, | |
| _js: str | None = None, | |
| ): | |
| """ | |
| This event is triggered when the user uploads a file into the component (e.g. when the user uploads a video into a video component). This method can be used when this component is in a Gradio Blocks. | |
| Parameters: | |
| fn: Callable function | |
| inputs: List of inputs | |
| outputs: List of outputs | |
| api_name: Defining this parameter exposes the endpoint in the api docs | |
| scroll_to_output: If True, will scroll to output component on completion | |
| show_progress: If True, will show progress animation while pending | |
| queue: If True, will place the request on the queue, if the queue exists | |
| batch: If True, then the function should process a batch of inputs, meaning that it should accept a list of input values for each parameter. The lists should be of equal length (and be up to length `max_batch_size`). The function is then *required* to return a tuple of lists (even if there is only 1 output component), with each list in the tuple corresponding to one output component. | |
| max_batch_size: Maximum number of inputs to batch together if this is called from the queue (only relevant if batch=True) | |
| preprocess: If False, will not run preprocessing of component data before running 'fn' (e.g. leaving it as a base64 string if this method is called with the `Image` component). | |
| postprocess: If False, will not run postprocessing of component data before returning 'fn' output to the browser. | |
| cancels: A list of other events to cancel when this event is triggered. For example, setting cancels=[click_event] will cancel the click_event, where click_event is the return value of another components .click method. | |
| every: Run this event 'every' number of seconds while the client connection is open. Interpreted in seconds. Queue must be enabled. | |
| """ | |
| # _js: Optional frontend js method to run before running 'fn'. Input arguments for js method are values of 'inputs' and 'outputs', return should be a list of values for output components. | |
| self.set_event_trigger( | |
| "upload", | |
| fn, | |
| inputs, | |
| outputs, | |
| preprocess=preprocess, | |
| postprocess=postprocess, | |
| scroll_to_output=scroll_to_output, | |
| show_progress=show_progress, | |
| api_name=api_name, | |
| js=_js, | |
| queue=queue, | |
| batch=batch, | |
| max_batch_size=max_batch_size, | |
| every=every, | |
| ) | |
| set_cancel_events(self, "upload", cancels) | |