HRVC / src /ultimate_rvc /web /typing_extra.py
SpyC0der77's picture
Upload folder using huggingface_hub
1a942eb verified
"""
Module which defines extra types for the web application of the Ultimate
RVC project.
"""
from typing import Any, TypedDict
from collections.abc import Callable, Sequence
from enum import StrEnum, auto
type DropdownChoices = (
Sequence[str | int | float | tuple[str, str | int | float]] | None
)
type DropdownValue = (
str | int | float | Sequence[str | int | float] | Callable[..., Any] | None
)
class ConcurrencyId(StrEnum):
"""Enumeration of possible concurrency identifiers."""
GPU = auto()
class SourceType(StrEnum):
"""The type of source providing the song to generate a cover of."""
PATH = "YouTube link/local path"
LOCAL_FILE = "Local file"
CACHED_SONG = "Cached song"
class ComponentVisibilityKwArgs(TypedDict):
"""
Keyword arguments for setting component visibility.
Attributes
----------
visible : bool
Whether the component should be visible.
value : Any
The value of the component.
"""
visible: bool
value: Any
class UpdateDropdownKwArgs(TypedDict, total=False):
"""
Keyword arguments for updating a dropdown component.
Attributes
----------
choices : DropdownChoices
The updated choices for the dropdown component.
value : DropdownValue
The updated value for the dropdown component.
"""
choices: DropdownChoices
value: DropdownValue
class TextBoxKwArgs(TypedDict, total=False):
"""
Keyword arguments for updating a textbox component.
Attributes
----------
value : str | None
The updated value for the textbox component.
placeholder : str | None
The updated placeholder for the textbox component.
"""
value: str | None
placeholder: str | None
class UpdateAudioKwArgs(TypedDict, total=False):
"""
Keyword arguments for updating an audio component.
Attributes
----------
value : str | None
The updated value for the audio component.
"""
value: str | None