from __future__ import annotations import typing from typing import Any, Callable, Tuple import numpy as np from PIL.Image import Image from gradio import components class TextArea(components.Textbox): """ Sets: lines=7 """ is_template = True def __init__( self, value: str | Callable | None = "", *, lines: int = 7, max_lines: int = 20, placeholder: str | None = None, label: str | None = None, show_label: bool = True, interactive: bool | None = None, visible: bool = True, elem_id: str | None = None, **kwargs, ): super().__init__( value=value, lines=lines, max_lines=max_lines, placeholder=placeholder, label=label, show_label=show_label, interactive=interactive, visible=visible, elem_id=elem_id, **kwargs, ) class Webcam(components.Image): """ Sets: source="webcam", interactive=True """ is_template = True def __init__( self, value: str | Image | np.ndarray | None = None, *, shape: Tuple[int, int] | None = None, image_mode: str = "RGB", invert_colors: bool = False, source: str = "webcam", tool: str | None = None, type: str = "numpy", label: str | None = None, show_label: bool = True, interactive: bool | None = True, visible: bool = True, streaming: bool = False, elem_id: str | None = None, mirror_webcam: bool = True, **kwargs, ): super().__init__( value=value, shape=shape, image_mode=image_mode, invert_colors=invert_colors, source=source, tool=tool, type=type, label=label, show_label=show_label, interactive=interactive, visible=visible, streaming=streaming, elem_id=elem_id, mirror_webcam=mirror_webcam, **kwargs, ) class Sketchpad(components.Image): """ Sets: image_mode="L", source="canvas", shape=(28, 28), invert_colors=True, interactive=True """ is_template = True def __init__( self, value: str | Image | np.ndarray | None = None, *, shape: Tuple[int, int] = (28, 28), image_mode: str = "L", invert_colors: bool = True, source: str = "canvas", tool: str | None = None, type: str = "numpy", label: str | None = None, show_label: bool = True, interactive: bool | None = True, visible: bool = True, streaming: bool = False, elem_id: str | None = None, mirror_webcam: bool = True, **kwargs, ): super().__init__( value=value, shape=shape, image_mode=image_mode, invert_colors=invert_colors, source=source, tool=tool, type=type, label=label, show_label=show_label, interactive=interactive, visible=visible, streaming=streaming, elem_id=elem_id, mirror_webcam=mirror_webcam, **kwargs, ) class Paint(components.Image): """ Sets: source="canvas", tool="color-sketch", interactive=True """ is_template = True def __init__( self, value: str | Image | np.ndarray | None = None, *, shape: Tuple[int, int] | None = None, image_mode: str = "RGB", invert_colors: bool = False, source: str = "canvas", tool: str = "color-sketch", type: str = "numpy", label: str | None = None, show_label: bool = True, interactive: bool | None = True, visible: bool = True, streaming: bool = False, elem_id: str | None = None, mirror_webcam: bool = True, **kwargs, ): super().__init__( value=value, shape=shape, image_mode=image_mode, invert_colors=invert_colors, source=source, tool=tool, type=type, label=label, show_label=show_label, interactive=interactive, visible=visible, streaming=streaming, elem_id=elem_id, mirror_webcam=mirror_webcam, **kwargs, ) class ImageMask(components.Image): """ Sets: source="upload", tool="sketch", interactive=True """ is_template = True def __init__( self, value: str | Image | np.ndarray | None = None, *, shape: Tuple[int, int] | None = None, image_mode: str = "RGB", invert_colors: bool = False, source: str = "upload", tool: str = "sketch", type: str = "numpy", label: str | None = None, show_label: bool = True, interactive: bool | None = True, visible: bool = True, streaming: bool = False, elem_id: str | None = None, mirror_webcam: bool = True, **kwargs, ): super().__init__( value=value, shape=shape, image_mode=image_mode, invert_colors=invert_colors, source=source, tool=tool, type=type, label=label, show_label=show_label, interactive=interactive, visible=visible, streaming=streaming, elem_id=elem_id, mirror_webcam=mirror_webcam, **kwargs, ) class ImagePaint(components.Image): """ Sets: source="upload", tool="color-sketch", interactive=True """ is_template = True def __init__( self, value: str | Image | np.ndarray | None = None, *, shape: Tuple[int, int] | None = None, image_mode: str = "RGB", invert_colors: bool = False, source: str = "upload", tool: str = "color-sketch", type: str = "numpy", label: str | None = None, show_label: bool = True, interactive: bool | None = True, visible: bool = True, streaming: bool = False, elem_id: str | None = None, mirror_webcam: bool = True, **kwargs, ): super().__init__( value=value, shape=shape, image_mode=image_mode, invert_colors=invert_colors, source=source, tool=tool, type=type, label=label, show_label=show_label, interactive=interactive, visible=visible, streaming=streaming, elem_id=elem_id, mirror_webcam=mirror_webcam, **kwargs, ) class Pil(components.Image): """ Sets: type="pil" """ is_template = True def __init__( self, value: str | Image | np.ndarray | None = None, *, shape: Tuple[int, int] | None = None, image_mode: str = "RGB", invert_colors: bool = False, source: str = "upload", tool: str | None = None, type: str = "pil", label: str | None = None, show_label: bool = True, interactive: bool | None = None, visible: bool = True, streaming: bool = False, elem_id: str | None = None, mirror_webcam: bool = True, **kwargs, ): super().__init__( value=value, shape=shape, image_mode=image_mode, invert_colors=invert_colors, source=source, tool=tool, type=type, label=label, show_label=show_label, interactive=interactive, visible=visible, streaming=streaming, elem_id=elem_id, mirror_webcam=mirror_webcam, **kwargs, ) class PlayableVideo(components.Video): """ Sets: format="mp4" """ is_template = True def __init__( self, value: str | Callable | None = None, *, format: str | None = "mp4", source: str = "upload", label: str | None = None, show_label: bool = True, interactive: bool | None = None, visible: bool = True, elem_id: str | None = None, mirror_webcam: bool = True, include_audio: bool | None = None, **kwargs, ): super().__init__( value=value, format=format, source=source, label=label, show_label=show_label, interactive=interactive, visible=visible, elem_id=elem_id, mirror_webcam=mirror_webcam, include_audio=include_audio, **kwargs, ) class Microphone(components.Audio): """ Sets: source="microphone" """ is_template = True def __init__( self, value: str | Tuple[int, np.ndarray] | Callable | None = None, *, source: str = "microphone", type: str = "numpy", label: str | None = None, show_label: bool = True, interactive: bool | None = None, visible: bool = True, streaming: bool = False, elem_id: str | None = None, **kwargs, ): super().__init__( value=value, source=source, type=type, label=label, show_label=show_label, interactive=interactive, visible=visible, streaming=streaming, elem_id=elem_id, **kwargs, ) class Files(components.File): """ Sets: file_count="multiple" """ is_template = True def __init__( self, value: str | typing.List[str] | Callable | None = None, *, file_count: str = "multiple", type: str = "file", label: str | None = None, show_label: bool = True, interactive: bool | None = None, visible: bool = True, elem_id: str | None = None, **kwargs, ): super().__init__( value=value, file_count=file_count, type=type, label=label, show_label=show_label, interactive=interactive, visible=visible, elem_id=elem_id, **kwargs, ) class Numpy(components.Dataframe): """ Sets: type="numpy" """ is_template = True def __init__( self, value: typing.List[typing.List[Any]] | Callable | None = None, *, headers: typing.List[str] | None = None, row_count: int | Tuple[int, str] = (1, "dynamic"), col_count: int | Tuple[int, str] | None = None, datatype: str | typing.List[str] = "str", type: str = "numpy", max_rows: int | None = 20, max_cols: int | None = None, overflow_row_behaviour: str = "paginate", label: str | None = None, show_label: bool = True, interactive: bool | None = None, visible: bool = True, elem_id: str | None = None, wrap: bool = False, **kwargs, ): super().__init__( value=value, headers=headers, row_count=row_count, col_count=col_count, datatype=datatype, type=type, max_rows=max_rows, max_cols=max_cols, overflow_row_behaviour=overflow_row_behaviour, label=label, show_label=show_label, interactive=interactive, visible=visible, elem_id=elem_id, wrap=wrap, **kwargs, ) class Matrix(components.Dataframe): """ Sets: type="array" """ is_template = True def __init__( self, value: typing.List[typing.List[Any]] | Callable | None = None, *, headers: typing.List[str] | None = None, row_count: int | Tuple[int, str] = (1, "dynamic"), col_count: int | Tuple[int, str] | None = None, datatype: str | typing.List[str] = "str", type: str = "array", max_rows: int | None = 20, max_cols: int | None = None, overflow_row_behaviour: str = "paginate", label: str | None = None, show_label: bool = True, interactive: bool | None = None, visible: bool = True, elem_id: str | None = None, wrap: bool = False, **kwargs, ): super().__init__( value=value, headers=headers, row_count=row_count, col_count=col_count, datatype=datatype, type=type, max_rows=max_rows, max_cols=max_cols, overflow_row_behaviour=overflow_row_behaviour, label=label, show_label=show_label, interactive=interactive, visible=visible, elem_id=elem_id, wrap=wrap, **kwargs, ) class List(components.Dataframe): """ Sets: type="array", col_count=1 """ is_template = True def __init__( self, value: typing.List[typing.List[Any]] | Callable | None = None, *, headers: typing.List[str] | None = None, row_count: int | Tuple[int, str] = (1, "dynamic"), col_count: int | Tuple[int, str] = 1, datatype: str | typing.List[str] = "str", type: str = "array", max_rows: int | None = 20, max_cols: int | None = None, overflow_row_behaviour: str = "paginate", label: str | None = None, show_label: bool = True, interactive: bool | None = None, visible: bool = True, elem_id: str | None = None, wrap: bool = False, **kwargs, ): super().__init__( value=value, headers=headers, row_count=row_count, col_count=col_count, datatype=datatype, type=type, max_rows=max_rows, max_cols=max_cols, overflow_row_behaviour=overflow_row_behaviour, label=label, show_label=show_label, interactive=interactive, visible=visible, elem_id=elem_id, wrap=wrap, **kwargs, ) Mic = Microphone