Skip to content

omnipy

MODULE DESCRIPTION
components
compute
config
data
engine
hub
shared
util
CLASS DESCRIPTION
AllColorStyles

All color styles available for syntax highlighting. See superclasses for

AutoDetectableUserInterfaceType

User interface types that can be automatically detected by Omnipy, based

AutoResponseContentDataset
AutoResponseContentModel
BackoffStrategy
BrowserPageUserInterfaceType
BrowserTagUserInterfaceType
BrowserUserInterfaceType
BytesDataset
BytesModel
Chain2
Chain3
Chain4
Chain5
Chain6
ColumnModel
ColumnWiseTableWithColNamesAndIndexModel
ColumnWiseTableWithColNamesModel
ConfigOutputStorageProtocolOptions
ConfigPersistOpts
ConfigPersistOutputsOptions
ConfigRestoreOutputsOptions
CsvTableDataset
CsvTableModel
CsvTableOfPydanticRecordsModel
DagFlow
DarkBackground

Specifies whether the background color of the output is dark or light.

DarkColorStyles

All dark color styles for syntax highlighting. See subclasses for more

DarkHighContrastColorStyles

All dark, high contrast color styles for syntax highlighting. See

DarkHighContrastPygmentsColorStyles
DarkHighContrastTintedThemingBase16ColorStyles
DarkLowContrastColorStyles

All dark, lower contrast color styles for syntax highlighting. See

DarkLowContrastPygmentsColorStyles
DarkLowContrastTintedThemingBase16ColorStyles
DarkTintedThemingBase16ColorStyles
Dataset

Dict-based container of data files that follow a specific Model

DisplayColorSystem

Supported display color systems for syntax highlighting.

DisplayDimensionsUpdateMode

Specifies how display dimensions should be updated.

EngineChoice
FlattenedIsaJsonDataset
FlattenedIsaJsonModel
ForceAutodetect
FuncFlow
HexdumpSyntaxLanguage
HorizontalOverflowMode

Horizontal overflow modes for the output. Horizontal overflow modes have

HtmlPageOutputUserInterfaceType
HtmlTagOutputUserInterfaceType
HttpUrlDataset
HttpUrlModel
IpythonEmbeddedTerminalUserInterfaceType
IpythonTerminalUserInterfaceType
IsaAssayJsonModel
IsaCommentModel
IsaDataModel
IsaFactorModel
IsaFactorValueModel
IsaInvestigationModel
IsaJsonDataset
IsaJsonModel
IsaMaterialAttributeModel
IsaMaterialAttributeValueModel
IsaMaterialModel
IsaOntologyReferenceModel
IsaOntologySourceReferenceModel
IsaOrganizationModel
IsaPersonModel
IsaProcessOrProtocolApplicationModel
IsaProcessParameterValueModel
IsaProtocolModel
IsaProtocolParameterModel
IsaPublicationModel
IsaSampleModel
IsaSourceModel
IsaStudyGroupModel
IsaStudyModel
IsaTopLevelModel
IteratingPydanticRecordsModel
JoinColumnsByCommaToLinesModel
JoinColumnsToLinesDataset
JoinColumnsToLinesModel
JoinItemsDataset
JoinItemsModel
JoinLinesDataset
JoinLinesModel
JsonCustomDictModel
JsonCustomListModel
JsonDataset
JsonDictDataset
JsonDictModel

JsonDictModel is a limited JSON model supporting only JSON content

JsonDictOfDictsDataset
JsonDictOfDictsModel
JsonDictOfDictsOfScalarsDataset
JsonDictOfDictsOfScalarsModel
JsonDictOfListsDataset
JsonDictOfListsModel
JsonDictOfListsOfDictsDataset
JsonDictOfListsOfDictsModel
JsonDictOfListsOfScalarsDataset
JsonDictOfListsOfScalarsModel
JsonDictOfNestedListsDataset
JsonDictOfNestedListsModel
JsonDictOfScalarsDataset
JsonDictOfScalarsModel
JsonListDataset
JsonListModel

JsonListModel is a limited JSON model supporting only JSON content

JsonListOfDictsDataset
JsonListOfDictsModel
JsonListOfDictsOfScalarsDataset
JsonListOfDictsOfScalarsModel
JsonListOfListsDataset
JsonListOfListsModel
JsonListOfListsOfScalarsDataset
JsonListOfListsOfScalarsModel
JsonListOfNestedDictsDataset
JsonListOfNestedDictsModel
JsonListOfScalarsDataset
JsonListOfScalarsModel
JsonListOrDictDataset
JsonListOrDictModel

JsonListOrDictModel is a general JSON model supporting any JSON

JsonModel

JsonModel is a general JSON model supporting any JSON content, any

JsonNestedDictsDataset
JsonNestedDictsModel
JsonNestedListsDataset
JsonNestedListsModel
JsonOnlyDictsDataset
JsonOnlyDictsModel
JsonOnlyListsDataset
JsonOnlyListsModel
JsonScalarDataset
JsonScalarModel

JsonScalarModel is a limited JSON model supporting only scalar JSON

JsonSyntaxLanguage
JupyterEmbeddedUserInterfaceType
JupyterInBrowserUserInterfaceType
JupyterUserInterfaceType
Justify

Justification modes for the output.

LightColorStyles

All light color styles for syntax highlighting. See subclasses for more

LightHighContrastColorStyles

All light, high contrast color styles for syntax highlighting. See

LightHighContrastPygmentsColorStyles
LightHighContrastTintedThemingBase16ColorStyles
LightLowContrastColorStyles

All light, lower contrast color styles for syntax highlighting. See

LightLowContrastPygmentsColorStyles
LightLowContrastTintedThemingBase16ColorStyles
LightTintedThemingBase16ColorStyles
LinearFlow
LiteralEnum

Base class for creating enums with defined literal choices.

MatchItemsModel
MaxTitleHeight
Model

A data model containing a value parsed according to the model.

MultiModelDataset

Variant of Dataset that allows custom models to be set on individual data files

NestedDataset
NestedJoinItemsModel
NestedSplitToItemsModel
NotIterableExceptStrOrBytesModel

Model describing any object that is not iterable, except for str and bytes types.

OutputStorageProtocolOptions
PandasDataset
PandasModel
PanelDesign

Visual design for the layout of the output.

ParamsBase
PersistOutputsOptions
PlainTerminalEmbeddedUserInterfaceType
PlainTerminalUserInterfaceType
PrettyPrinterLib

Supported libraries for pretty printing of various data structures.

PydanticRecordModel
PythonSyntaxLanguage
QueryParamsModel
RecommendedColorStyles

Recommended color styles for syntax highlighting, provided through the

RestoreOutputsOptions
RgbColorUserInterfaceType
RowWiseTableFirstRowAsColNamesModel
RowWiseTableModel
RowWiseTableWithColNamesModel
RunState
SpecifiedUserInterfaceType

User interface types that are specified as a particular UI type, either

SplitLinesToColumnsByCommaModel
SplitLinesToColumnsDataset
SplitLinesToColumnsModel
SplitToItemsByTabModel
SplitToItemsDataset
SplitToItemsModel
SplitToLinesDataset
SplitToLinesModel
StrDataset
StrModel
StrictBytesDataset
StrictBytesModel
StrictStrDataset
StrictStrModel
SupportsDarkTerminalBgDetection
SyntaxLanguageSpec

Specification of language for syntax recognition and highlighting.

TableDictOfDictsOfJsonScalarsDataset
TableDictOfListsOfJsonScalarsDataset
TableListOfDictsOfJsonScalarsDataset
TableListOfListsOfJsonScalarsDataset
TableOfPydanticRecordsDataset
TableOfPydanticRecordsModel
TableWithColNamesDataset
Task
TerminalOutputUserInterfaceType
TerminalUserInterfaceType
TextSyntaxLanguage
TintedThemingBase16ColorStyles
TsvTableDataset
TsvTableModel
UrlPathModel
UserInterfaceType

Describes the type of interface in use for interacting with the user,

VerticalOverflowMode

Vertical overflow modes for the output. Vertical overflow modes have

FUNCTION DESCRIPTION
async_get_github_repo_urls
async_load_urls_into_new_dataset
bind_adjust_dataset_func
bind_adjust_model_func
cartesian_product
concat_all
concat_dataframes_across_datasets
convert_dataset
convert_dataset_csv_to_pandas
convert_dataset_list_of_dicts_to_pandas
convert_dataset_pandas_to_csv
convert_dataset_string_to_json
create_row_index_from_column
decode_bytes
extract_columns_as_files
flatten_isa_json
flatten_nested_json
generate_literal_enum_code

Generate code for a LiteralEnum class based on a tuple of string values.

get_bytes_from_api_endpoint
get_github_repo_urls
get_json_from_api_endpoint
get_str_from_api_endpoint
import_directory
is_dataset_instance
is_dataset_subclass
is_model_instance
is_model_subclass
is_non_omnipy_pydantic_model
is_pure_pydantic_model
join_tables
load_urls_into_new_dataset
modify_all_lines
modify_datafile_content
modify_each_line
params_dataclass
remove_columns
rename_col_names
setup_jupyter_ui

Sets up the Jupyter user interface by displaying the CSS styles and

split_dataset
transpose_columns_with_data_files
transpose_dict_of_dicts_2_list_of_dicts
transpose_dicts_2_lists
transpose_dicts_of_lists_of_dicts_2_lists_of_dicts
union_all
ATTRIBUTE DESCRIPTION
DagFlowTemplate

FuncFlowTemplate

LinearFlowTemplate

PersistOpts

ProtocolOpts

RestoreOpts

TaskTemplate

print_exception

runtime

TYPE: IsRuntime

PersistOpts module-attribute

PersistOpts = PersistOutputsOptions

ProtocolOpts module-attribute

ROOT_DIR module-attribute

ROOT_DIR = os.path.dirname(os.path.abspath(__file__))

RestoreOpts module-attribute

RestoreOpts = RestoreOutputsOptions

print_exception module-attribute

print_exception = PrintExceptionContext()

runtime module-attribute

runtime: IsRuntime = Runtime()

AllColorStyles

Bases: RecommendedColorStyles, DarkColorStyles, LightColorStyles, TintedThemingBase16ColorStyles

All color styles available for syntax highlighting. See superclasses for more details on the color styles.

METHOD DESCRIPTION
get_supercls_for_random_choice

Returns the superclass that contains the given choice.

ATTRIBUTE DESCRIPTION
Literals

RANDOM_ALL

TYPE: Literal['random']

Source code in src/omnipy/shared/enums/colorstyles.py
class AllColorStyles(
        RecommendedColorStyles,
        DarkColorStyles,
        LightColorStyles,
        TintedThemingBase16ColorStyles,
):
    """
    All color styles available for syntax highlighting. See superclasses for
    more details on the color styles.
    """

    Literals = Literal[RecommendedColorStyles.Literals,
                       DarkColorStyles.Literals,
                       LightColorStyles.Literals,
                       TintedThemingBase16ColorStyles.Literals,
                       'random']

    RANDOM_ALL: Literal['random'] = 'random'

    @classmethod
    def get_supercls_for_random_choice(
            cls, choice: 'AllColorStyles.Literals | str') -> type[LiteralEnum[str]] | None:
        """
        Returns the superclass that contains the given choice.
        """
        for supercls in reversed(cls.__mro__):
            if (issubclass(supercls, LiteralEnum) and supercls is not LiteralEnum
                    and choice in supercls):
                return supercls

Literals class-attribute instance-attribute

RANDOM_ALL class-attribute instance-attribute

RANDOM_ALL: Literal['random'] = 'random'

get_supercls_for_random_choice classmethod

get_supercls_for_random_choice(
    choice: AllColorStyles.Literals | str,
) -> type[LiteralEnum[str]] | None

Returns the superclass that contains the given choice.

Source code in src/omnipy/shared/enums/colorstyles.py
@classmethod
def get_supercls_for_random_choice(
        cls, choice: 'AllColorStyles.Literals | str') -> type[LiteralEnum[str]] | None:
    """
    Returns the superclass that contains the given choice.
    """
    for supercls in reversed(cls.__mro__):
        if (issubclass(supercls, LiteralEnum) and supercls is not LiteralEnum
                and choice in supercls):
            return supercls

AutoDetectableUserInterfaceType

Bases: PlainTerminalUserInterfaceType, IpythonTerminalUserInterfaceType, JupyterUserInterfaceType

User interface types that can be automatically detected by Omnipy, based on the environment in which the code is running.

ATTRIBUTE DESCRIPTION
Literals

Source code in src/omnipy/shared/enums/ui.py
class AutoDetectableUserInterfaceType(
        PlainTerminalUserInterfaceType,
        IpythonTerminalUserInterfaceType,
        JupyterUserInterfaceType,
):
    """
    User interface types that can be automatically detected by Omnipy, based
    on the environment in which the code is running.
    """

    Literals = Literal[
        PlainTerminalUserInterfaceType.Literals,
        IpythonTerminalUserInterfaceType.Literals,
        JupyterUserInterfaceType.Literals,
    ]

Literals class-attribute instance-attribute

AutoResponseContentDataset

Bases: Dataset[AutoResponseContentModel]

Source code in src/omnipy/components/remote/datasets.py
class AutoResponseContentDataset(Dataset[AutoResponseContentModel]):
    ...

AutoResponseContentModel

Bases: Model[ResponseContentPydModel | StrictBytesModel | StrictStrModel | JsonListOrDictModel]

CLASS DESCRIPTION
Config
Source code in src/omnipy/components/remote/models.py
class AutoResponseContentModel(Model[ResponseContentPydModel | StrictBytesModel | StrictStrModel
                                     | JsonListOrDictModel]):
    class Config(Model.Config):
        smart_union = False

    @classmethod
    def _parse_data(  # type: ignore[override]
        cls,
        data: ResponseContentPydModel | StrictBytesModel | StrictStrModel | AnyJsonListOrDictModel
    ) -> StrictBytesModel | StrictStrModel | AnyJsonListOrDictModel:
        if isinstance(data, ResponseContentPydModel):
            assert isinstance(data.content_type, ModelFriendlyMimeType)

            mimetype_tuple = (data.content_type.type, data.content_type.subtype)
            match mimetype_tuple:
                case ('application', 'json'):
                    return JsonListOrDictModel(data.response)
                case ('text', 'plain'):
                    return StrictStrModel(data.response)
                case ('application', 'octet-stream') | _:
                    return StrictBytesModel(data.response)
        else:
            return data

Config

Bases: Model.Config

ATTRIBUTE DESCRIPTION
smart_union

Source code in src/omnipy/components/remote/models.py
class Config(Model.Config):
    smart_union = False

smart_union class-attribute instance-attribute

smart_union = False

BackoffStrategy

Bases: LiteralEnum[str]

ATTRIBUTE DESCRIPTION
EXPONENTIAL

TYPE: Literal['exponential']

FIBONACCI

TYPE: Literal['fibonacci']

JITTER

TYPE: Literal['jitter']

Literals

RANDOM

TYPE: Literal['random']

Source code in src/omnipy/shared/enums/data.py
class BackoffStrategy(LiteralEnum[str]):
    Literals = Literal['exponential', 'jitter', 'fibonacci', 'random']

    EXPONENTIAL: Literal['exponential'] = 'exponential'
    JITTER: Literal['jitter'] = 'jitter'
    FIBONACCI: Literal['fibonacci'] = 'fibonacci'
    RANDOM: Literal['random'] = 'random'

EXPONENTIAL class-attribute instance-attribute

EXPONENTIAL: Literal['exponential'] = 'exponential'

FIBONACCI class-attribute instance-attribute

FIBONACCI: Literal['fibonacci'] = 'fibonacci'

JITTER class-attribute instance-attribute

JITTER: Literal['jitter'] = 'jitter'

Literals class-attribute instance-attribute

Literals = Literal['exponential', 'jitter', 'fibonacci', 'random']

RANDOM class-attribute instance-attribute

RANDOM: Literal['random'] = 'random'

BrowserPageUserInterfaceType

Bases: LiteralEnum[str]

ATTRIBUTE DESCRIPTION
BROWSER_PAGE

TYPE: Literal['browser-page']

Literals

Source code in src/omnipy/shared/enums/ui.py
class BrowserPageUserInterfaceType(LiteralEnum[str]):
    Literals = Literal['browser-page']

    BROWSER_PAGE: Literal['browser-page'] = 'browser-page'
    f"""
    {_BROWSER_DESCRIPTION} The `BROWSER_PAGE` UI type displays content as
    full web pages.
    """

BROWSER_PAGE class-attribute instance-attribute

BROWSER_PAGE: Literal['browser-page'] = 'browser-page'

Literals class-attribute instance-attribute

Literals = Literal['browser-page']

BrowserTagUserInterfaceType

Bases: LiteralEnum[str]

ATTRIBUTE DESCRIPTION
BROWSER_TAG

TYPE: Literal['browser-tag']

Literals

Source code in src/omnipy/shared/enums/ui.py
class BrowserTagUserInterfaceType(LiteralEnum[str]):
    Literals = Literal['browser-tag']

    BROWSER_TAG: Literal['browser-tag'] = 'browser-tag'
    f"""
    {_BROWSER_DESCRIPTION} The `BROWSER_TAG` UI type displays content as
    standalone HTML elements, for HTML code that can be embedded in other
    HTML documents.
    """

BROWSER_TAG class-attribute instance-attribute

BROWSER_TAG: Literal['browser-tag'] = 'browser-tag'

Literals class-attribute instance-attribute

Literals = Literal['browser-tag']

BrowserUserInterfaceType

Bases: BrowserPageUserInterfaceType, BrowserTagUserInterfaceType

ATTRIBUTE DESCRIPTION
Literals

Source code in src/omnipy/shared/enums/ui.py
class BrowserUserInterfaceType(BrowserPageUserInterfaceType, BrowserTagUserInterfaceType):
    Literals = Literal[BrowserPageUserInterfaceType.Literals, BrowserTagUserInterfaceType.Literals]

Literals class-attribute instance-attribute

BytesDataset

Bases: _BytesDataset[BytesModel]

ATTRIBUTE DESCRIPTION
adjust

Source code in src/omnipy/components/raw/datasets.py
class BytesDataset(_BytesDataset[BytesModel]):
    adjust = bind_adjust_dataset_func(
        _BytesDataset[BytesModel].clone_dataset_cls,
        BytesModel,
        BytesModel.Params,
    )

adjust class-attribute instance-attribute

adjust = bind_adjust_dataset_func(
    _BytesDataset[BytesModel].clone_dataset_cls, BytesModel, BytesModel.Params
)

BytesModel

Bases: _BytesModel

ATTRIBUTE DESCRIPTION
adjust

Source code in src/omnipy/components/raw/models.py
class BytesModel(_BytesModel):
    adjust = bind_adjust_model_func(
        _BytesModel.clone_model_cls,
        _EncodingParamsMixin.Params,
    )

adjust class-attribute instance-attribute

adjust = bind_adjust_model_func(_BytesModel.clone_model_cls, _EncodingParamsMixin.Params)

Chain2

Bases: _ChainMixin, Model[_V | _U], Generic[_U, _V]

Source code in src/omnipy/components/general/models.py
class Chain2(_ChainMixin, Model[_V | _U], Generic[_U, _V]):
    ...

Chain3

Bases: _ChainMixin, Model[_W | TypeVarStore1[_V] | _U], Generic[_U, _V, _W]

Source code in src/omnipy/components/general/models.py
class Chain3(_ChainMixin, Model[_W | TypeVarStore1[_V] | _U], Generic[_U, _V, _W]):
    ...

Chain4

Bases: _ChainMixin, Model[_X | TypeVarStore2[_W] | TypeVarStore1[_V] | _U], Generic[_U, _V, _W, _X]

Source code in src/omnipy/components/general/models.py
class Chain4(_ChainMixin,
             Model[_X | TypeVarStore2[_W] | TypeVarStore1[_V] | _U],
             Generic[_U, _V, _W, _X]):
    ...

Chain5

Bases: _ChainMixin, Model[_Y | TypeVarStore3[_X] | TypeVarStore2[_W] | TypeVarStore1[_V] | _U], Generic[_U, _V, _W, _X, _Y]

Source code in src/omnipy/components/general/models.py
class Chain5(
        _ChainMixin,
        Model[_Y | TypeVarStore3[_X] | TypeVarStore2[_W] | TypeVarStore1[_V] | _U],
        Generic[_U, _V, _W, _X, _Y],
):
    ...

Chain6

Bases: _ChainMixin, Model[_Z | TypeVarStore4[_Y] | TypeVarStore3[_X] | TypeVarStore2[_W] | TypeVarStore1[_V] | _U], Generic[_U, _V, _W, _X, _Y, _Z]

Source code in src/omnipy/components/general/models.py
class Chain6(
        _ChainMixin,
        Model[_Z | TypeVarStore4[_Y] | TypeVarStore3[_X] | TypeVarStore2[_W] | TypeVarStore1[_V]
              | _U],
        Generic[_U, _V, _W, _X, _Y, _Z],
):
    ...

ColumnModel

Bases: Model[_ColumnT], Generic[_ColumnT, _ItemT]

Source code in src/omnipy/components/tables/models.py
class ColumnModel(Model[_ColumnT], Generic[_ColumnT, _ItemT]):
    ...

ColumnWiseTableWithColNamesAndIndexModel

Bases: Model[dict[str, Mapping[str, JsonScalar]]]

Source code in src/omnipy/components/tables/models.py
class ColumnWiseTableWithColNamesAndIndexModel(Model[dict[str, Mapping[str, JsonScalar]]]):
    ...

ColumnWiseTableWithColNamesModel

Bases: _ColumnWiseTableWithColNamesMixin[_ColumnModelT, _ColumnModelItemT], _ColumnWiseTableWithColNamesModel[_ColumnModelT], PrintableTable, Generic[_ColumnModelT, _ColumnModelItemT]

Source code in src/omnipy/components/tables/models.py
class ColumnWiseTableWithColNamesModel(
        _ColumnWiseTableWithColNamesMixin[_ColumnModelT, _ColumnModelItemT],
        _ColumnWiseTableWithColNamesModel[_ColumnModelT],
        PrintableTable,
        Generic[_ColumnModelT, _ColumnModelItemT],
):
    ...

ConfigOutputStorageProtocolOptions

Bases: LiteralEnum[str]

ATTRIBUTE DESCRIPTION
LOCAL

TYPE: Literal['local']

Literals

S3

TYPE: Literal['s3']

Source code in src/omnipy/shared/enums/job.py
class ConfigOutputStorageProtocolOptions(LiteralEnum[str]):
    Literals = Literal['local', 's3']

    LOCAL: Literal['local'] = 'local'
    S3: Literal['s3'] = 's3'

LOCAL class-attribute instance-attribute

LOCAL: Literal['local'] = 'local'

Literals class-attribute instance-attribute

Literals = Literal['local', 's3']

S3 class-attribute instance-attribute

S3: Literal['s3'] = 's3'

ConfigPersistOpts

Bases: LiteralEnum[str]

ATTRIBUTE DESCRIPTION
DISABLED

TYPE: Literal['disabled']

ENABLE_FLOW_AND_TASK_OUTPUTS

TYPE: Literal['all']

ENABLE_FLOW_OUTPUTS

TYPE: Literal['flow']

Literals

Source code in src/omnipy/shared/enums/job.py
class ConfigPersistOutputsOptions(LiteralEnum[str]):
    Literals = Literal['disabled', 'flow', 'all']

    DISABLED: Literal['disabled'] = 'disabled'
    ENABLE_FLOW_OUTPUTS: Literal['flow'] = 'flow'
    ENABLE_FLOW_AND_TASK_OUTPUTS: Literal['all'] = 'all'

DISABLED class-attribute instance-attribute

DISABLED: Literal['disabled'] = 'disabled'

ENABLE_FLOW_AND_TASK_OUTPUTS class-attribute instance-attribute

ENABLE_FLOW_AND_TASK_OUTPUTS: Literal['all'] = 'all'

ENABLE_FLOW_OUTPUTS class-attribute instance-attribute

ENABLE_FLOW_OUTPUTS: Literal['flow'] = 'flow'

Literals class-attribute instance-attribute

Literals = Literal['disabled', 'flow', 'all']

ConfigPersistOutputsOptions

Bases: LiteralEnum[str]

ATTRIBUTE DESCRIPTION
DISABLED

TYPE: Literal['disabled']

ENABLE_FLOW_AND_TASK_OUTPUTS

TYPE: Literal['all']

ENABLE_FLOW_OUTPUTS

TYPE: Literal['flow']

Literals

Source code in src/omnipy/shared/enums/job.py
class ConfigPersistOutputsOptions(LiteralEnum[str]):
    Literals = Literal['disabled', 'flow', 'all']

    DISABLED: Literal['disabled'] = 'disabled'
    ENABLE_FLOW_OUTPUTS: Literal['flow'] = 'flow'
    ENABLE_FLOW_AND_TASK_OUTPUTS: Literal['all'] = 'all'

DISABLED class-attribute instance-attribute

DISABLED: Literal['disabled'] = 'disabled'

ENABLE_FLOW_AND_TASK_OUTPUTS class-attribute instance-attribute

ENABLE_FLOW_AND_TASK_OUTPUTS: Literal['all'] = 'all'

ENABLE_FLOW_OUTPUTS class-attribute instance-attribute

ENABLE_FLOW_OUTPUTS: Literal['flow'] = 'flow'

Literals class-attribute instance-attribute

Literals = Literal['disabled', 'flow', 'all']

ConfigRestoreOutputsOptions

Bases: LiteralEnum[str]

ATTRIBUTE DESCRIPTION
AUTO_ENABLE_IGNORE_PARAMS

TYPE: Literal['auto_ignore_params']

DISABLED

TYPE: Literal['disabled']

Literals

Source code in src/omnipy/shared/enums/job.py
class ConfigRestoreOutputsOptions(LiteralEnum[str]):
    Literals = Literal['disabled', 'auto_ignore_params']

    DISABLED: Literal['disabled'] = 'disabled'
    AUTO_ENABLE_IGNORE_PARAMS: Literal['auto_ignore_params'] = 'auto_ignore_params'

AUTO_ENABLE_IGNORE_PARAMS class-attribute instance-attribute

AUTO_ENABLE_IGNORE_PARAMS: Literal['auto_ignore_params'] = 'auto_ignore_params'

DISABLED class-attribute instance-attribute

DISABLED: Literal['disabled'] = 'disabled'

Literals class-attribute instance-attribute

Literals = Literal['disabled', 'auto_ignore_params']

CsvTableDataset

Bases: Dataset[CsvTableModel]

Source code in src/omnipy/components/tables/datasets.py
class CsvTableDataset(Dataset[CsvTableModel]):
    ...

CsvTableModel

Bases: Chain3[SplitToLinesModel, SplitLinesToColumnsByCommaModel, RowWiseTableFirstRowAsColNamesModel], PrintableTable

Source code in src/omnipy/components/tables/models.py
class CsvTableModel(
        Chain3[
            SplitToLinesModel,
            SplitLinesToColumnsByCommaModel,
            RowWiseTableFirstRowAsColNamesModel,
        ],
        PrintableTable,
):
    ...

CsvTableOfPydanticRecordsModel

Bases: Chain3[SplitToLinesModel, SplitLinesToColumnsByCommaModel, Model[list[PydanticRecordModel[_PydRecordT]]]], PrintableTable, Generic[_PydRecordT]

Source code in src/omnipy/components/tables/models.py
class CsvTableOfPydanticRecordsModel(
        Chain3[SplitToLinesModel,
               SplitLinesToColumnsByCommaModel,
               Model[list[PydanticRecordModel[_PydRecordT]]]],
        PrintableTable,
        Generic[_PydRecordT],
):
    ...

DagFlow

Bases: JobMixin[IsDagFlowTemplate[_CallP, _RetT], IsDagFlow[_CallP, _RetT], _CallP, _RetT], FlowBase, TaskTemplateArgsJobBase[IsDagFlowTemplate[_CallP, _RetT], IsDagFlow[_CallP, _RetT], _CallP, _RetT], Generic[_CallP, _RetT]

Source code in src/omnipy/compute/flow.py
class DagFlow(JobMixin[IsDagFlowTemplate[_CallP, _RetT], IsDagFlow[_CallP, _RetT], _CallP, _RetT],
              FlowBase,
              TaskTemplateArgsJobBase[IsDagFlowTemplate[_CallP, _RetT],
                                      IsDagFlow[_CallP, _RetT],
                                      _CallP,
                                      _RetT],
              Generic[_CallP, _RetT]):
    def _apply_engine_decorator(self, engine: IsEngine) -> None:
        if self.engine:
            engine = cast(IsDagFlowRunnerEngine, self.engine)
            self_with_mixins = cast(IsDagFlow, self)
            engine.apply_dag_flow_decorator(self_with_mixins, self._accept_call_func_decorator)

    @classmethod
    def _get_job_template_subcls_for_revise(cls) -> type[IsDagFlowTemplate[_CallP, _RetT]]:
        return cast(type[IsDagFlowTemplate[_CallP, _RetT]], DagFlowTemplate)

DarkBackground

Bases: LiteralEnum[str | bool]

Specifies whether the background color of the output is dark or light.

This is used for selecting the appropriate color scheme for syntax highlighting and other color styles. The dark background mode is automatically detected based on the terminal capabilities, but can be overridden by the user in the configs.

ATTRIBUTE DESCRIPTION
AUTO

Automatically detects whether the background color of the output is dark or light.

TYPE: Literal['auto']

FALSE

Specifies that the background color of the output is light.

TYPE: Literal[False]

Literals

TRUE

Specifies that the background color of the output is dark.

TYPE: Literal[True]

Source code in src/omnipy/shared/enums/display.py
class DarkBackground(LiteralEnum[str | bool]):
    """
    Specifies whether the background color of the output is dark or light.

    This is used for selecting the appropriate color scheme for syntax
    highlighting and other color styles. The dark background mode is
    automatically detected based on the terminal capabilities, but can be
    overridden by the user in the configs.
    """

    Literals = Literal['auto', True, False]

    AUTO: Literal['auto'] = 'auto'
    """Automatically detects whether the background color of the output is dark or light."""

    TRUE: Literal[True] = True
    """Specifies that the background color of the output is dark."""

    FALSE: Literal[False] = False
    """Specifies that the background color of the output is light."""

AUTO class-attribute instance-attribute

AUTO: Literal['auto'] = 'auto'

Automatically detects whether the background color of the output is dark or light.

FALSE class-attribute instance-attribute

FALSE: Literal[False] = False

Specifies that the background color of the output is light.

Literals class-attribute instance-attribute

Literals = Literal['auto', True, False]

TRUE class-attribute instance-attribute

TRUE: Literal[True] = True

Specifies that the background color of the output is dark.

DarkColorStyles

Bases: DarkHighContrastColorStyles, DarkLowContrastColorStyles

All dark color styles for syntax highlighting. See subclasses for more details on the color styles.

ATTRIBUTE DESCRIPTION
Literals

RANDOM_DARK

TYPE: Literal['random-dark']

Source code in src/omnipy/shared/enums/colorstyles.py
class DarkColorStyles(
        DarkHighContrastColorStyles,
        DarkLowContrastColorStyles,
):
    """
    All dark color styles for syntax highlighting. See subclasses for more
    details on the color styles.
    """

    Literals = Literal[DarkHighContrastColorStyles.Literals,
                       DarkLowContrastColorStyles.Literals,
                       'random-dark']

    RANDOM_DARK: Literal['random-dark'] = 'random-dark'

Literals class-attribute instance-attribute

RANDOM_DARK class-attribute instance-attribute

RANDOM_DARK: Literal['random-dark'] = 'random-dark'

DarkHighContrastColorStyles

Bases: DarkHighContrastTintedThemingBase16ColorStyles, DarkHighContrastPygmentsColorStyles

All dark, high contrast color styles for syntax highlighting. See subclasses for more details on the color styles.

ATTRIBUTE DESCRIPTION
Literals

RANDOM_DARK_HIGH_CONTRAST

TYPE: Literal['random-dark-high']

Source code in src/omnipy/shared/enums/colorstyles.py
class DarkHighContrastColorStyles(
        DarkHighContrastTintedThemingBase16ColorStyles,
        DarkHighContrastPygmentsColorStyles,
):
    """
    All dark, high contrast color styles for syntax highlighting. See
    subclasses for more details on the color styles.
    """

    Literals = Literal[DarkHighContrastTintedThemingBase16ColorStyles.Literals,
                       DarkHighContrastPygmentsColorStyles.Literals,
                       'random-dark-high']

    RANDOM_DARK_HIGH_CONTRAST: Literal['random-dark-high'] = 'random-dark-high'

Literals class-attribute instance-attribute

RANDOM_DARK_HIGH_CONTRAST class-attribute instance-attribute

RANDOM_DARK_HIGH_CONTRAST: Literal['random-dark-high'] = 'random-dark-high'

DarkHighContrastPygmentsColorStyles

Bases: LiteralEnum[str]

ATTRIBUTE DESCRIPTION
GITHUB_DARK_PYGMENTS

TYPE: Literal['github-dark-pygments']

LIGHTBULB_PYGMENTS

TYPE: Literal['lightbulb-pygments']

Literals

MONOKAI_PYGMENTS

TYPE: Literal['monokai-pygments']

RRT_PYGMENTS

TYPE: Literal['rrt-pygments']

Source code in src/omnipy/shared/enums/colorstyles.py
class DarkHighContrastPygmentsColorStyles(LiteralEnum[str]):
    __doc__ = (
        dedent("""
        High contrast dark color styles for syntax highlighting, """)
        + _GENERAL_PYGMENTS_COLOR_STYLE_DOCSTRING)

    Literals = Literal[
        'github-dark-pygments',
        'lightbulb-pygments',
        'monokai-pygments',
        'rrt-pygments',
    ]

    GITHUB_DARK_PYGMENTS: Literal['github-dark-pygments'] = 'github-dark-pygments'
    LIGHTBULB_PYGMENTS: Literal['lightbulb-pygments'] = 'lightbulb-pygments'
    MONOKAI_PYGMENTS: Literal['monokai-pygments'] = 'monokai-pygments'
    RRT_PYGMENTS: Literal['rrt-pygments'] = 'rrt-pygments'

GITHUB_DARK_PYGMENTS class-attribute instance-attribute

GITHUB_DARK_PYGMENTS: Literal['github-dark-pygments'] = 'github-dark-pygments'

LIGHTBULB_PYGMENTS class-attribute instance-attribute

LIGHTBULB_PYGMENTS: Literal['lightbulb-pygments'] = 'lightbulb-pygments'

Literals class-attribute instance-attribute

Literals = Literal["github-dark-pygments", "lightbulb-pygments", "monokai-pygments", "rrt-pygments"]

MONOKAI_PYGMENTS class-attribute instance-attribute

MONOKAI_PYGMENTS: Literal['monokai-pygments'] = 'monokai-pygments'

RRT_PYGMENTS class-attribute instance-attribute

RRT_PYGMENTS: Literal['rrt-pygments'] = 'rrt-pygments'

DarkHighContrastTintedThemingBase16ColorStyles

Bases: LiteralEnum[str]

ATTRIBUTE DESCRIPTION
APATHY_T16

Apathy: Base-16 color style by "Jannik Siebert".

TYPE: Literal['apathy-t16']

ASHES_T16

Ashes: Base-16 color style by "Jannik Siebert".

TYPE: Literal['ashes-t16']

ATELIER_CAVE_T16

Atelier Cave: Base-16 color style by "Bram de Haan".

TYPE: Literal['atelier-cave-t16']

ATELIER_DUNE_T16

Atelier Dune: Base-16 color style by "Bram de Haan".

TYPE: Literal['atelier-dune-t16']

ATELIER_ESTUARY_T16

Atelier Estuary: Base-16 color style by "Bram de Haan".

TYPE: Literal['atelier-estuary-t16']

ATELIER_FOREST_T16

Atelier Forest: Base-16 color style by "Bram de Haan".

TYPE: Literal['atelier-forest-t16']

ATELIER_HEATH_T16

Atelier Heath: Base-16 color style by "Bram de Haan".

TYPE: Literal['atelier-heath-t16']

ATELIER_LAKESIDE_T16

Atelier Lakeside: Base-16 color style by "Bram de Haan".

TYPE: Literal['atelier-lakeside-t16']

ATELIER_PLATEAU_T16

Atelier Plateau: Base-16 color style by "Bram de Haan".

TYPE: Literal['atelier-plateau-t16']

ATELIER_SAVANNA_T16

Atelier Savanna: Base-16 color style by "Bram de Haan".

TYPE: Literal['atelier-savanna-t16']

ATELIER_SEASIDE_T16

Atelier Seaside: Base-16 color style by "Bram de Haan".

TYPE: Literal['atelier-seaside-t16']

ATELIER_SULPHURPOOL_T16

Atelier Sulphurpool: Base-16 color style by "Bram de Haan".

TYPE: Literal['atelier-sulphurpool-t16']

ATLAS_T16

Atlas: Base-16 color style by "Alex Lende".

TYPE: Literal['atlas-t16']

AYU_DARK_T16

Ayu Dark: Base-16 color style by "Khue Nguyen".

TYPE: Literal['ayu-dark-t16']

AYU_MIRAGE_T16

Ayu Mirage: Base-16 color style by "Khue Nguyen".

TYPE: Literal['ayu-mirage-t16']

AZTEC_T16

Aztec: Base-16 color style by "TheNeverMan".

TYPE: Literal['aztec-t16']

BESPIN_T16

Bespin: Base-16 color style by "Jan T. Sott".

TYPE: Literal['bespin-t16']

BLACK_METAL_BATHORY_T16

Black Metal (Bathory): Base-16 color style by "metalelf0".

TYPE: Literal['black-metal-bathory-t16']

BLACK_METAL_BURZUM_T16

Black Metal (Burzum): Base-16 color style by "metalelf0".

TYPE: Literal['black-metal-burzum-t16']

BLACK_METAL_DARK_FUNERAL_T16

Black Metal (Dark Funeral): Base-16 color style by "metalelf0".

TYPE: Literal['black-metal-dark-funeral-t16']

BLACK_METAL_GORGOROTH_T16

Black Metal (Gorgoroth): Base-16 color style by "metalelf0".

TYPE: Literal['black-metal-gorgoroth-t16']

BLACK_METAL_IMMORTAL_T16

Black Metal (Immortal): Base-16 color style by "metalelf0".

TYPE: Literal['black-metal-immortal-t16']

BLACK_METAL_KHOLD_T16

Black Metal (Khold): Base-16 color style by "metalelf0".

TYPE: Literal['black-metal-khold-t16']

BLACK_METAL_MARDUK_T16

Black Metal (Marduk): Base-16 color style by "metalelf0".

TYPE: Literal['black-metal-marduk-t16']

BLACK_METAL_MAYHEM_T16

Black Metal (Mayhem): Base-16 color style by "metalelf0".

TYPE: Literal['black-metal-mayhem-t16']

BLACK_METAL_NILE_T16

Black Metal (Nile): Base-16 color style by "metalelf0".

TYPE: Literal['black-metal-nile-t16']

BLACK_METAL_T16

Black Metal: Base-16 color style by "metalelf0".

TYPE: Literal['black-metal-t16']

BLACK_METAL_VENOM_T16

Black Metal (Venom): Base-16 color style by "metalelf0".

TYPE: Literal['black-metal-venom-t16']

BLUEFOREST_T16

Blue Forest: Base-16 color style by "alonsodomin".

TYPE: Literal['blueforest-t16']

BLUEISH_T16

Blueish: Base-16 color style by "Ben Mayoras".

TYPE: Literal['blueish-t16']

BREWER_T16

Brewer: Base-16 color style by "Timothée Poisot".

TYPE: Literal['brewer-t16']

BRIGHT_T16

Bright: Base-16 color style by "Chris Kempson".

TYPE: Literal['bright-t16']

CAROLINE_T16

caroline: Base-16 color style by "ed".

TYPE: Literal['caroline-t16']

CATPPUCCIN_FRAPPE_T16

Catppuccin Frappe: Base-16 color style.

TYPE: Literal['catppuccin-frappe-t16']

CATPPUCCIN_MACCHIATO_T16

Catppuccin Macchiato: Base-16 color style.

TYPE: Literal['catppuccin-macchiato-t16']

CATPPUCCIN_MOCHA_T16

Catppuccin Mocha: Base-16 color style.

TYPE: Literal['catppuccin-mocha-t16']

CHALK_T16

Chalk: Base-16 color style by "Chris Kempson".

TYPE: Literal['chalk-t16']

CHARCOAL_DARK_T16

Charcoal Dark: Base-16 color style by "Mubin Muhammad".

TYPE: Literal['charcoal-dark-t16']

CHICAGO_NIGHT_T16

Chicago Night: Base-16 color style by "Wendell, Ryan".

TYPE: Literal['chicago-night-t16']

CHINOISERIE_MIDNIGHT_T16

Chinoiserie Midnight: Base-16 color style by "Di Wang".

TYPE: Literal['chinoiserie-midnight-t16']

CHINOISERIE_MORANDI_T16

Chinoiserie Morandi: Base-16 color style by "Di Wang".

TYPE: Literal['chinoiserie-morandi-t16']

CHINOISERIE_NIGHT_T16

Chinoiserie Night: Base-16 color style by "Di Wang".

TYPE: Literal['chinoiserie-night-t16']

CIRCUS_T16

Circus: Base-16 color style by "Stephan Boyer".

TYPE: Literal['circus-t16']

CLASSIC_DARK_T16

Classic Dark: Base-16 color style by "Jason Heeris".

TYPE: Literal['classic-dark-t16']

CODESCHOOL_T16

Codeschool: Base-16 color style by "blockloop".

TYPE: Literal['codeschool-t16']

COLORS_T16

Colors: Base-16 color style by "mrmrs".

TYPE: Literal['colors-t16']

DANQING_T16

DanQing: Base-16 color style by "Wenhan Zhu".

TYPE: Literal['danqing-t16']

DARCULA_T16

Darcula: Base-16 color style by "jetbrains".

TYPE: Literal['darcula-t16']

DARKMOSS_T16

darkmoss: Base-16 color style by "Gabriel Avanzi".

TYPE: Literal['darkmoss-t16']

DARKTOOTH_T16

Darktooth: Base-16 color style by "Jason Milkins".

TYPE: Literal['darktooth-t16']

DARKVIOLET_T16

Dark Violet: Base-16 color style by "ruler501".

TYPE: Literal['darkviolet-t16']

DA_ONE_BLACK_T16

Da One Black: Base-16 color style by "NNB".

TYPE: Literal['da-one-black-t16']

DA_ONE_GRAY_T16

Da One Gray: Base-16 color style by "NNB".

TYPE: Literal['da-one-gray-t16']

DA_ONE_OCEAN_T16

Da One Ocean: Base-16 color style by "NNB".

TYPE: Literal['da-one-ocean-t16']

DA_ONE_SEA_T16

Da One Sea: Base-16 color style by "NNB".

TYPE: Literal['da-one-sea-t16']

DECAF_T16

Decaf: Base-16 color style by "Alex Mirrington".

TYPE: Literal['decaf-t16']

DEEP_OCEANIC_NEXT_T16

Deep Oceanic Next: Base-16 color style by "spearkkk".

TYPE: Literal['deep-oceanic-next-t16']

DEFAULT_DARK_T16

Default Dark: Base-16 color style by "Chris Kempson".

TYPE: Literal['default-dark-t16']

DIGITAL_RAIN_T16

Digital Rain: Base-16 color style by "Nathan Byrd".

TYPE: Literal['digital-rain-t16']

DRACULA_T16

Dracula: Base-16 color style by "Jamy Golden".

TYPE: Literal['dracula-t16']

EDGE_DARK_T16

Edge Dark: Base-16 color style by "cjayross".

TYPE: Literal['edge-dark-t16']

EIGHTIES_T16

Eighties: Base-16 color style by "Chris Kempson".

TYPE: Literal['eighties-t16']

EMBERS_T16

Embers: Base-16 color style by "Jannik Siebert".

TYPE: Literal['embers-t16']

EQUILIBRIUM_DARK_T16

Equilibrium Dark: Base-16 color style by "Carlo Abelli".

TYPE: Literal['equilibrium-dark-t16']

EQUILIBRIUM_GRAY_DARK_T16

Equilibrium Gray Dark: Base-16 color style by "Carlo Abelli".

TYPE: Literal['equilibrium-gray-dark-t16']

ESPRESSO_T16

Espresso: Base-16 color style by "Unknown. Maintained by Alex

TYPE: Literal['espresso-t16']

EVENOK_DARK_T16

Evenok Dark: Base-16 color style by "Mekeor Melire".

TYPE: Literal['evenok-dark-t16']

EVERFOREST_DARK_HARD_T16

Everforest Dark Hard: Base-16 color style by "Sainnhe Park".

TYPE: Literal['everforest-dark-hard-t16']

EVERFOREST_DARK_SOFT_T16

Everforest Dark Soft: Base-16 color style by "Sainnhe Park".

TYPE: Literal['everforest-dark-soft-t16']

EVERFOREST_T16

Everforest: Base-16 color style by "Sainnhe Park".

TYPE: Literal['everforest-t16']

FLAT_T16

Flat: Base-16 color style by "Chris Kempson".

TYPE: Literal['flat-t16']

FRAMER_T16

Framer: Base-16 color style by "Framer".

TYPE: Literal['framer-t16']

GIGAVOLT_T16

Gigavolt: Base-16 color style by "Aidan Swope".

TYPE: Literal['gigavolt-t16']

GITHUB_DARK_T16

Github Dark: Base-16 color style by "Tinted Theming".

TYPE: Literal['github-dark-t16']

GOOGLE_DARK_T16

Google Dark: Base-16 color style by "Seth Wright".

TYPE: Literal['google-dark-t16']

GOTHAM_T16

Gotham: Base-16 color style by "Andrea Leopardi".

TYPE: Literal['gotham-t16']

GRAYSCALE_DARK_T16

Grayscale Dark: Base-16 color style by "Alexandre Gavioli".

TYPE: Literal['grayscale-dark-t16']

GREENSCREEN_T16

Green Screen: Base-16 color style by "Chris Kempson".

TYPE: Literal['greenscreen-t16']

GRUBER_T16

Gruber: Base-16 color style by "Patel, Nimai, colors from

TYPE: Literal['gruber-t16']

GRUVBOX_DARK_HARD_T16

Gruvbox dark, hard: Base-16 color style by "Dawid Kurek".

TYPE: Literal['gruvbox-dark-hard-t16']

GRUVBOX_DARK_MEDIUM_T16

Gruvbox dark, medium: Base-16 color style by "Dawid Kurek".

TYPE: Literal['gruvbox-dark-medium-t16']

GRUVBOX_DARK_PALE_T16

Gruvbox dark, pale: Base-16 color style by "Dawid Kurek".

TYPE: Literal['gruvbox-dark-pale-t16']

GRUVBOX_DARK_SOFT_T16

Gruvbox dark, soft: Base-16 color style by "Dawid Kurek".

TYPE: Literal['gruvbox-dark-soft-t16']

GRUVBOX_DARK_T16

Gruvbox dark: Base-16 color style by "Tinted Theming".

TYPE: Literal['gruvbox-dark-t16']

GRUVBOX_MATERIAL_DARK_HARD_T16

Gruvbox Material Dark, Hard: Base-16 color style by "Mayush Kumar".

TYPE: Literal['gruvbox-material-dark-hard-t16']

GRUVBOX_MATERIAL_DARK_MEDIUM_T16

Gruvbox Material Dark, Medium: Base-16 color style by "Mayush Kumar".

TYPE: Literal['gruvbox-material-dark-medium-t16']

GRUVBOX_MATERIAL_DARK_SOFT_T16

Gruvbox Material Dark, Soft: Base-16 color style by "Mayush Kumar".

TYPE: Literal['gruvbox-material-dark-soft-t16']

HARDCORE_T16

Hardcore: Base-16 color style by "Chris Caller".

TYPE: Literal['hardcore-t16']

HARDHACKER_T16

Hardhacker: Base-16 color style by "fe2-Nyxar, based on the

TYPE: Literal['hardhacker-t16']

HARMONIC16_DARK_T16

Harmonic16 Dark: Base-16 color style by "Jannik Siebert".

TYPE: Literal['harmonic16-dark-t16']

HEETCH_T16

Heetch Dark: Base-16 color style by "Geoffrey Teale".

TYPE: Literal['heetch-t16']

HELIOS_T16

Helios: Base-16 color style by "Alex Meyer".

TYPE: Literal['helios-t16']

HOPSCOTCH_T16

Hopscotch: Base-16 color style by "Jan T. Sott".

TYPE: Literal['hopscotch-t16']

HORIZON_DARK_T16

Horizon Dark: Base-16 color style by "Michaël Ball".

TYPE: Literal['horizon-dark-t16']

HORIZON_TERMINAL_DARK_T16

Horizon Terminal Dark: Base-16 color style by "Michaël Ball".

TYPE: Literal['horizon-terminal-dark-t16']

HUMANOID_DARK_T16

Humanoid dark: Base-16 color style by "Thomas Friese".

TYPE: Literal['humanoid-dark-t16']

IA_DARK_T16

iA Dark: Base-16 color style by "iA Inc.".

TYPE: Literal['ia-dark-t16']

IRBLACK_T16

IR Black: Base-16 color style by "Timothée Poisot".

TYPE: Literal['irblack-t16']

ISOTOPE_T16

Isotope: Base-16 color style by "Jan T. Sott".

TYPE: Literal['isotope-t16']

JABUTI_T16

Jabuti: Base-16 color style.

TYPE: Literal['jabuti-t16']

KANAGAWA_DRAGON_T16

Kanagawa Dragon: Base-16 color style by "Tommaso Laurenzi".

TYPE: Literal['kanagawa-dragon-t16']

KANAGAWA_T16

Kanagawa: Base-16 color style by "Tommaso Laurenzi".

TYPE: Literal['kanagawa-t16']

KATY_T16

Katy: Base-16 color style by "George Essig".

TYPE: Literal['katy-t16']

KIMBER_T16

Kimber: Base-16 color style by "Mishka Nguyen".

TYPE: Literal['kimber-t16']

LINUX_VT_T16

Linux VT: Base-16 color style by "j-c-m".

TYPE: Literal['linux-vt-t16']

Literals

MACINTOSH_T16

Macintosh: Base-16 color style by "Rebecca Bettencourt".

TYPE: Literal['macintosh-t16']

MARRAKESH_T16

Marrakesh: Base-16 color style by "Alexandre Gavioli".

TYPE: Literal['marrakesh-t16']

MATERIAL_DARKER_T16

Material Darker: Base-16 color style by "Nate Peterson".

TYPE: Literal['material-darker-t16']

MATERIAL_PALENIGHT_T16

Material Palenight: Base-16 color style by "Nate Peterson".

TYPE: Literal['material-palenight-t16']

MATERIAL_T16

Material: Base-16 color style by "Nate Peterson".

TYPE: Literal['material-t16']

MATERIA_T16

Materia: Base-16 color style by "Defman21".

TYPE: Literal['materia-t16']

MEASURED_DARK_T16

Measured Dark: Base-16 color style by "Measured".

TYPE: Literal['measured-dark-t16']

MELLOW_PURPLE_T16

Mellow Purple: Base-16 color style by "gidsi".

TYPE: Literal['mellow-purple-t16']

MOCHA_T16

Mocha: Base-16 color style by "Chris Kempson".

TYPE: Literal['mocha-t16']

MONOKAI_T16

Monokai: Base-16 color style by "Wimer Hazenberg".

TYPE: Literal['monokai-t16']

MOONLIGHT_T16

Moonlight: Base-16 color style by "Jeremy Swinarton".

TYPE: Literal['moonlight-t16']

MOUNTAIN_T16

Mountain: Base-16 color style by "gnsfujiwara".

TYPE: Literal['mountain-t16']

NEBULA_T16

Nebula: Base-16 color style by "Gabriel Fontes".

TYPE: Literal['nebula-t16']

NORD_T16

Nord: Base-16 color style by "arcticicestudio".

TYPE: Literal['nord-t16']

NOVA_T16

Nova: Base-16 color style by "George Essig".

TYPE: Literal['nova-t16']

NUMBER_0X96F_T16

0x96f: Base-16 color style by "Filip Janevski".

TYPE: Literal['0x96f-t16']

NUMBER_3024_T16

3024: Base-16 color style by "Jan T. Sott".

TYPE: Literal['3024-t16']

OCEANICNEXT_T16

OceanicNext: Base-16 color style.

TYPE: Literal['oceanicnext-t16']

OCEAN_T16

Ocean: Base-16 color style by "Chris Kempson".

TYPE: Literal['ocean-t16']

ONEDARK_DARK_T16

OneDark Dark: Base-16 color style by "olimorris".

TYPE: Literal['onedark-dark-t16']

ONEDARK_T16

OneDark: Base-16 color style by "Lalit Magant".

TYPE: Literal['onedark-t16']

OUTRUN_DARK_T16

Outrun Dark: Base-16 color style by "Hugo Delahousse".

TYPE: Literal['outrun-dark-t16']

OXOCARBON_DARK_T16

Oxocarbon Dark: Base-16 color style by "shaunsingh/IBM".

TYPE: Literal['oxocarbon-dark-t16']

PANDORA_T16

pandora: Base-16 color style by "Cassandra Fox".

TYPE: Literal['pandora-t16']

PARAISO_T16

Paraiso: Base-16 color style by "Jan T. Sott".

TYPE: Literal['paraiso-t16']

PASQUE_T16

Pasque: Base-16 color style by "Gabriel Fontes".

TYPE: Literal['pasque-t16']

PENUMBRA_DARK_CONTRAST_PLUS_PLUS_T16

Penumbra Dark Contrast Plus Plus: Base-16 color style by "Zachary

TYPE: Literal['penumbra-dark-contrast-plus-plus-t16']

PENUMBRA_DARK_CONTRAST_PLUS_T16

Penumbra Dark Contrast Plus: Base-16 color style by "Zachary Weiss".

TYPE: Literal['penumbra-dark-contrast-plus-t16']

PENUMBRA_DARK_T16

Penumbra Dark: Base-16 color style by "Zachary Weiss".

TYPE: Literal['penumbra-dark-t16']

PHD_T16

PhD: Base-16 color style by "Hennig Hasemann".

TYPE: Literal['phd-t16']

PINKY_T16

pinky: Base-16 color style by "Benjamin".

TYPE: Literal['pinky-t16']

POP_T16

Pop: Base-16 color style by "Chris Kempson".

TYPE: Literal['pop-t16']

PORPLE_T16

Porple: Base-16 color style by "Niek den Breeje".

TYPE: Literal['porple-t16']

PRECIOUS_DARK_ELEVEN_T16

Precious Dark Eleven: Base-16 color style by "4lex4".

TYPE: Literal['precious-dark-eleven-t16']

PRECIOUS_DARK_FIFTEEN_T16

Precious Dark Fifteen: Base-16 color style by "4lex4".

TYPE: Literal['precious-dark-fifteen-t16']

PRIMER_DARK_DIMMED_T16

Primer Dark Dimmed: Base-16 color style by "Jimmy Lin".

TYPE: Literal['primer-dark-dimmed-t16']

PRIMER_DARK_T16

Primer Dark: Base-16 color style by "Jimmy Lin".

TYPE: Literal['primer-dark-t16']

PURPLEDREAM_T16

Purpledream: Base-16 color style by "malet".

TYPE: Literal['purpledream-t16']

QUALIA_T16

Qualia: Base-16 color style by "isaacwhanson".

TYPE: Literal['qualia-t16']

RAILSCASTS_T16

Railscasts: Base-16 color style by "Ryan Bates".

TYPE: Literal['railscasts-t16']

RANDOM_DARK_HIGH_CONTRAST_T16

TYPE: Literal['random-dark-high-t16']

REBECCA_T16

Rebecca: Base-16 color style by "Victor Borja".

TYPE: Literal['rebecca-t16']

ROSE_PINE_MOON_T16

Rosé Pine Moon: Base-16 color style by "Emilia Dunfelt".

TYPE: Literal['rose-pine-moon-t16']

ROSE_PINE_T16

Rosé Pine: Base-16 color style by "Emilia Dunfelt".

TYPE: Literal['rose-pine-t16']

SAGA_T16

Saga

Base-16 color style.

TYPE: Literal['saga-t16']

SANDCASTLE_T16

Sandcastle: Base-16 color style by "George Essig".

TYPE: Literal['sandcastle-t16']

SELENIZED_BLACK_T16

selenized-black: Base-16 color style by "Jan Warchol / adapted to base16

TYPE: Literal['selenized-black-t16']

SELENIZED_DARK_T16

selenized-dark: Base-16 color style by "Jan Warchol / adapted to base16

TYPE: Literal['selenized-dark-t16']

SETI_T16

Seti UI: Base-16 color style by "".

TYPE: Literal['seti-t16']

SHADESMEAR_DARK_T16

ShadeSmear Dark: Base-16 color style by "Kyle Giammarco".

TYPE: Literal['shadesmear-dark-t16']

SHADES_OF_PURPLE_T16

Shades of Purple: Base-16 color style by "Iolar Demartini Junior".

TYPE: Literal['shades-of-purple-t16']

SILK_DARK_T16

Silk Dark: Base-16 color style by "Gabriel Fontes".

TYPE: Literal['silk-dark-t16']

SNAZZY_T16

Snazzy: Base-16 color style by "Chawye Hsu".

TYPE: Literal['snazzy-t16']

SOLARFLARE_T16

Solar Flare: Base-16 color style by "Chuck Harmston".

TYPE: Literal['solarflare-t16']

SOLARIZED_DARK_T16

Solarized Dark: Base-16 color style by "Ethan Schoonover".

TYPE: Literal['solarized-dark-t16']

SPACEDUCK_T16

Spaceduck: Base-16 color style by "Guillermo Rodriguez".

TYPE: Literal['spaceduck-t16']

SPACEMACS_T16

Spacemacs: Base-16 color style by "Nasser Alshammari".

TYPE: Literal['spacemacs-t16']

SPARKY_T16

Sparky: Base-16 color style by "Leila Sother".

TYPE: Literal['sparky-t16']

STANDARDIZED_DARK_T16

standardized-dark: Base-16 color style by "ali".

TYPE: Literal['standardized-dark-t16']

STELLA_T16

Stella: Base-16 color style by "Shrimpram".

TYPE: Literal['stella-t16']

SUMMERFRUIT_DARK_T16

Summerfruit Dark: Base-16 color style by "Christopher Corley".

TYPE: Literal['summerfruit-dark-t16']

SYNTH_MIDNIGHT_DARK_T16

Synth Midnight Terminal Dark: Base-16 color style by "Michaël Ball".

TYPE: Literal['synth-midnight-dark-t16']

TANGO_T16

Tango: Base-16 color style by "@Schnouki, based on the Tango Desktop

TYPE: Literal['tango-t16']

TENDER_T16

tender: Base-16 color style by "Jacobo Tabernero".

TYPE: Literal['tender-t16']

TERRACOTTA_DARK_T16

Terracotta Dark: Base-16 color style by "Alexander Rossell Hayes".

TYPE: Literal['terracotta-dark-t16']

TOKYODARK_T16

Tokyodark: Base-16 color style by "Jamy Golden".

TYPE: Literal['tokyodark-t16']

TOKYODARK_TERMINAL_T16

Tokyodark Terminal: Base-16 color style by "Tiagovla".

TYPE: Literal['tokyodark-terminal-t16']

TOKYO_CITY_DARK_T16

Tokyo City Dark: Base-16 color style by "Michaël Ball".

TYPE: Literal['tokyo-city-dark-t16']

TOKYO_CITY_TERMINAL_DARK_T16

Tokyo City Terminal Dark: Base-16 color style by "Michaël Ball".

TYPE: Literal['tokyo-city-terminal-dark-t16']

TOKYO_NIGHT_DARK_T16

Tokyo Night Dark: Base-16 color style by "Michaël Ball".

TYPE: Literal['tokyo-night-dark-t16']

TOKYO_NIGHT_STORM_T16

Tokyo Night Storm: Base-16 color style by "Michaël Ball".

TYPE: Literal['tokyo-night-storm-t16']

TOMORROW_NIGHT_EIGHTIES_T16

Tomorrow Night Eighties: Base-16 color style by "Chris Kempson".

TYPE: Literal['tomorrow-night-eighties-t16']

TOMORROW_NIGHT_T16

Tomorrow Night: Base-16 color style by "Chris Kempson".

TYPE: Literal['tomorrow-night-t16']

TUBE_T16

London Tube: Base-16 color style by "Jan T. Sott".

TYPE: Literal['tube-t16']

TWILIGHT_T16

Twilight: Base-16 color style by "David Hart".

TYPE: Literal['twilight-t16']

UNIKITTY_DARK_T16

Unikitty Dark: Base-16 color style by "Josh W Lewis".

TYPE: Literal['unikitty-dark-t16']

UNIKITTY_REVERSIBLE_T16

Unikitty Reversible: Base-16 color style by "Josh W Lewis".

TYPE: Literal['unikitty-reversible-t16']

UWUNICORN_T16

UwUnicorn: Base-16 color style by "Fernando Marques".

TYPE: Literal['uwunicorn-t16']

VALUA_T16

Valua: Base-16 color style by "Nonetrix".

TYPE: Literal['valua-t16']

VESPER_T16

Vesper: Base-16 color style by "FormalSnake".

TYPE: Literal['vesper-t16']

VICE_T16

vice: Base-16 color style by "Thomas Leon Highbaugh".

TYPE: Literal['vice-t16']

WINDOWS_10_T16

Windows 10: Base-16 color style by "Fergus Collins".

TYPE: Literal['windows-10-t16']

WINDOWS_95_T16

Windows 95: Base-16 color style by "Fergus Collins".

TYPE: Literal['windows-95-t16']

WINDOWS_HIGHCONTRAST_T16

Windows High Contrast: Base-16 color style by "Fergus Collins".

TYPE: Literal['windows-highcontrast-t16']

WINDOWS_NT_T16

Windows NT: Base-16 color style by "Fergus Collins".

TYPE: Literal['windows-nt-t16']

WOODLAND_T16

Woodland: Base-16 color style by "Jay Cornwall".

TYPE: Literal['woodland-t16']

XCODE_DUSK_T16

XCode Dusk: Base-16 color style by "Elsa Gonsiorowski".

TYPE: Literal['xcode-dusk-t16']

ZENBONES_T16

Zenbones: Base-16 color style by "mcchrish".

TYPE: Literal['zenbones-t16']

ZENBURN_T16

Zenburn: Base-16 color style by "elnawe".

TYPE: Literal['zenburn-t16']

Source code in src/omnipy/shared/enums/colorstyles.py
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245
 246
 247
 248
 249
 250
 251
 252
 253
 254
 255
 256
 257
 258
 259
 260
 261
 262
 263
 264
 265
 266
 267
 268
 269
 270
 271
 272
 273
 274
 275
 276
 277
 278
 279
 280
 281
 282
 283
 284
 285
 286
 287
 288
 289
 290
 291
 292
 293
 294
 295
 296
 297
 298
 299
 300
 301
 302
 303
 304
 305
 306
 307
 308
 309
 310
 311
 312
 313
 314
 315
 316
 317
 318
 319
 320
 321
 322
 323
 324
 325
 326
 327
 328
 329
 330
 331
 332
 333
 334
 335
 336
 337
 338
 339
 340
 341
 342
 343
 344
 345
 346
 347
 348
 349
 350
 351
 352
 353
 354
 355
 356
 357
 358
 359
 360
 361
 362
 363
 364
 365
 366
 367
 368
 369
 370
 371
 372
 373
 374
 375
 376
 377
 378
 379
 380
 381
 382
 383
 384
 385
 386
 387
 388
 389
 390
 391
 392
 393
 394
 395
 396
 397
 398
 399
 400
 401
 402
 403
 404
 405
 406
 407
 408
 409
 410
 411
 412
 413
 414
 415
 416
 417
 418
 419
 420
 421
 422
 423
 424
 425
 426
 427
 428
 429
 430
 431
 432
 433
 434
 435
 436
 437
 438
 439
 440
 441
 442
 443
 444
 445
 446
 447
 448
 449
 450
 451
 452
 453
 454
 455
 456
 457
 458
 459
 460
 461
 462
 463
 464
 465
 466
 467
 468
 469
 470
 471
 472
 473
 474
 475
 476
 477
 478
 479
 480
 481
 482
 483
 484
 485
 486
 487
 488
 489
 490
 491
 492
 493
 494
 495
 496
 497
 498
 499
 500
 501
 502
 503
 504
 505
 506
 507
 508
 509
 510
 511
 512
 513
 514
 515
 516
 517
 518
 519
 520
 521
 522
 523
 524
 525
 526
 527
 528
 529
 530
 531
 532
 533
 534
 535
 536
 537
 538
 539
 540
 541
 542
 543
 544
 545
 546
 547
 548
 549
 550
 551
 552
 553
 554
 555
 556
 557
 558
 559
 560
 561
 562
 563
 564
 565
 566
 567
 568
 569
 570
 571
 572
 573
 574
 575
 576
 577
 578
 579
 580
 581
 582
 583
 584
 585
 586
 587
 588
 589
 590
 591
 592
 593
 594
 595
 596
 597
 598
 599
 600
 601
 602
 603
 604
 605
 606
 607
 608
 609
 610
 611
 612
 613
 614
 615
 616
 617
 618
 619
 620
 621
 622
 623
 624
 625
 626
 627
 628
 629
 630
 631
 632
 633
 634
 635
 636
 637
 638
 639
 640
 641
 642
 643
 644
 645
 646
 647
 648
 649
 650
 651
 652
 653
 654
 655
 656
 657
 658
 659
 660
 661
 662
 663
 664
 665
 666
 667
 668
 669
 670
 671
 672
 673
 674
 675
 676
 677
 678
 679
 680
 681
 682
 683
 684
 685
 686
 687
 688
 689
 690
 691
 692
 693
 694
 695
 696
 697
 698
 699
 700
 701
 702
 703
 704
 705
 706
 707
 708
 709
 710
 711
 712
 713
 714
 715
 716
 717
 718
 719
 720
 721
 722
 723
 724
 725
 726
 727
 728
 729
 730
 731
 732
 733
 734
 735
 736
 737
 738
 739
 740
 741
 742
 743
 744
 745
 746
 747
 748
 749
 750
 751
 752
 753
 754
 755
 756
 757
 758
 759
 760
 761
 762
 763
 764
 765
 766
 767
 768
 769
 770
 771
 772
 773
 774
 775
 776
 777
 778
 779
 780
 781
 782
 783
 784
 785
 786
 787
 788
 789
 790
 791
 792
 793
 794
 795
 796
 797
 798
 799
 800
 801
 802
 803
 804
 805
 806
 807
 808
 809
 810
 811
 812
 813
 814
 815
 816
 817
 818
 819
 820
 821
 822
 823
 824
 825
 826
 827
 828
 829
 830
 831
 832
 833
 834
 835
 836
 837
 838
 839
 840
 841
 842
 843
 844
 845
 846
 847
 848
 849
 850
 851
 852
 853
 854
 855
 856
 857
 858
 859
 860
 861
 862
 863
 864
 865
 866
 867
 868
 869
 870
 871
 872
 873
 874
 875
 876
 877
 878
 879
 880
 881
 882
 883
 884
 885
 886
 887
 888
 889
 890
 891
 892
 893
 894
 895
 896
 897
 898
 899
 900
 901
 902
 903
 904
 905
 906
 907
 908
 909
 910
 911
 912
 913
 914
 915
 916
 917
 918
 919
 920
 921
 922
 923
 924
 925
 926
 927
 928
 929
 930
 931
 932
 933
 934
 935
 936
 937
 938
 939
 940
 941
 942
 943
 944
 945
 946
 947
 948
 949
 950
 951
 952
 953
 954
 955
 956
 957
 958
 959
 960
 961
 962
 963
 964
 965
 966
 967
 968
 969
 970
 971
 972
 973
 974
 975
 976
 977
 978
 979
 980
 981
 982
 983
 984
 985
 986
 987
 988
 989
 990
 991
 992
 993
 994
 995
 996
 997
 998
 999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
class DarkHighContrastTintedThemingBase16ColorStyles(LiteralEnum[str]):
    f"""
    {_GENERAL_T16_COLOR_STYLE_DOCSTRING.format(description='Dark, high-contrast')}

    These styles have high-level contrast that conform to {_COLOR_CONTRAST_TEXT}
    """
    Literals = Literal['0x96f-t16',
                       '3024-t16',
                       'apathy-t16',
                       'ashes-t16',
                       'atelier-cave-t16',
                       'atelier-dune-t16',
                       'atelier-estuary-t16',
                       'atelier-forest-t16',
                       'atelier-heath-t16',
                       'atelier-lakeside-t16',
                       'atelier-plateau-t16',
                       'atelier-savanna-t16',
                       'atelier-seaside-t16',
                       'atelier-sulphurpool-t16',
                       'atlas-t16',
                       'ayu-dark-t16',
                       'ayu-mirage-t16',
                       'aztec-t16',
                       'bespin-t16',
                       'black-metal-bathory-t16',
                       'black-metal-burzum-t16',
                       'black-metal-dark-funeral-t16',
                       'black-metal-gorgoroth-t16',
                       'black-metal-immortal-t16',
                       'black-metal-khold-t16',
                       'black-metal-marduk-t16',
                       'black-metal-mayhem-t16',
                       'black-metal-nile-t16',
                       'black-metal-venom-t16',
                       'black-metal-t16',
                       'blueforest-t16',
                       'blueish-t16',
                       'brewer-t16',
                       'bright-t16',
                       'caroline-t16',
                       'catppuccin-frappe-t16',
                       'catppuccin-macchiato-t16',
                       'catppuccin-mocha-t16',
                       'charcoal-dark-t16',
                       'chalk-t16',
                       'chicago-night-t16',
                       'chinoiserie-midnight-t16',
                       'chinoiserie-morandi-t16',
                       'chinoiserie-night-t16',
                       'circus-t16',
                       'classic-dark-t16',
                       'codeschool-t16',
                       'colors-t16',
                       'da-one-black-t16',
                       'da-one-gray-t16',
                       'da-one-ocean-t16',
                       'da-one-sea-t16',
                       'danqing-t16',
                       'darcula-t16',
                       'darkmoss-t16',
                       'darktooth-t16',
                       'darkviolet-t16',
                       'decaf-t16',
                       'deep-oceanic-next-t16',
                       'default-dark-t16',
                       'digital-rain-t16',
                       'dracula-t16',
                       'edge-dark-t16',
                       'eighties-t16',
                       'embers-t16',
                       'equilibrium-dark-t16',
                       'equilibrium-gray-dark-t16',
                       'espresso-t16',
                       'evenok-dark-t16',
                       'everforest-dark-hard-t16',
                       'everforest-dark-soft-t16',
                       'everforest-t16',
                       'flat-t16',
                       'framer-t16',
                       'gigavolt-t16',
                       'github-dark-t16',
                       'google-dark-t16',
                       'gotham-t16',
                       'grayscale-dark-t16',
                       'greenscreen-t16',
                       'gruber-t16',
                       'gruvbox-dark-hard-t16',
                       'gruvbox-dark-medium-t16',
                       'gruvbox-dark-pale-t16',
                       'gruvbox-dark-soft-t16',
                       'gruvbox-dark-t16',
                       'gruvbox-material-dark-hard-t16',
                       'gruvbox-material-dark-medium-t16',
                       'gruvbox-material-dark-soft-t16',
                       'hardcore-t16',
                       'hardhacker-t16',
                       'harmonic16-dark-t16',
                       'heetch-t16',
                       'helios-t16',
                       'hopscotch-t16',
                       'horizon-dark-t16',
                       'horizon-terminal-dark-t16',
                       'humanoid-dark-t16',
                       'ia-dark-t16',
                       'irblack-t16',
                       'isotope-t16',
                       'jabuti-t16',
                       'kanagawa-dragon-t16',
                       'kanagawa-t16',
                       'katy-t16',
                       'kimber-t16',
                       'linux-vt-t16',
                       'macintosh-t16',
                       'marrakesh-t16',
                       'materia-t16',
                       'material-darker-t16',
                       'material-palenight-t16',
                       'material-t16',
                       'measured-dark-t16',
                       'mellow-purple-t16',
                       'mocha-t16',
                       'monokai-t16',
                       'moonlight-t16',
                       'mountain-t16',
                       'nebula-t16',
                       'nord-t16',
                       'nova-t16',
                       'ocean-t16',
                       'oceanicnext-t16',
                       'onedark-dark-t16',
                       'onedark-t16',
                       'outrun-dark-t16',
                       'oxocarbon-dark-t16',
                       'pandora-t16',
                       'paraiso-t16',
                       'pasque-t16',
                       'penumbra-dark-contrast-plus-plus-t16',
                       'penumbra-dark-contrast-plus-t16',
                       'penumbra-dark-t16',
                       'phd-t16',
                       'pinky-t16',
                       'pop-t16',
                       'porple-t16',
                       'precious-dark-eleven-t16',
                       'precious-dark-fifteen-t16',
                       'primer-dark-dimmed-t16',
                       'primer-dark-t16',
                       'purpledream-t16',
                       'qualia-t16',
                       'railscasts-t16',
                       'rebecca-t16',
                       'rose-pine-moon-t16',
                       'rose-pine-t16',
                       'saga-t16',
                       'sandcastle-t16',
                       'selenized-black-t16',
                       'selenized-dark-t16',
                       'seti-t16',
                       'shades-of-purple-t16',
                       'shadesmear-dark-t16',
                       'silk-dark-t16',
                       'snazzy-t16',
                       'solarflare-t16',
                       'solarized-dark-t16',
                       'spaceduck-t16',
                       'spacemacs-t16',
                       'sparky-t16',
                       'standardized-dark-t16',
                       'stella-t16',
                       'summerfruit-dark-t16',
                       'synth-midnight-dark-t16',
                       'tango-t16',
                       'tender-t16',
                       'terracotta-dark-t16',
                       'tokyo-city-dark-t16',
                       'tokyo-city-terminal-dark-t16',
                       'tokyo-night-dark-t16',
                       'tokyo-night-storm-t16',
                       'tokyodark-terminal-t16',
                       'tokyodark-t16',
                       'tomorrow-night-eighties-t16',
                       'tomorrow-night-t16',
                       'tube-t16',
                       'twilight-t16',
                       'unikitty-dark-t16',
                       'unikitty-reversible-t16',
                       'uwunicorn-t16',
                       'valua-t16',
                       'vesper-t16',
                       'vice-t16',
                       'windows-10-t16',
                       'windows-95-t16',
                       'windows-highcontrast-t16',
                       'windows-nt-t16',
                       'woodland-t16',
                       'xcode-dusk-t16',
                       'zenbones-t16',
                       'zenburn-t16',
                       'random-dark-high-t16']

    NUMBER_0X96F_T16: Literal['0x96f-t16'] = '0x96f-t16'
    """
    0x96f: Base-16 color style by "Filip Janevski".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    NUMBER_3024_T16: Literal['3024-t16'] = '3024-t16'
    """
    3024: Base-16 color style by "Jan T. Sott".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    APATHY_T16: Literal['apathy-t16'] = 'apathy-t16'
    """
    Apathy: Base-16 color style by "Jannik Siebert".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    ASHES_T16: Literal['ashes-t16'] = 'ashes-t16'
    """
    Ashes: Base-16 color style by "Jannik Siebert".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    ATELIER_CAVE_T16: Literal['atelier-cave-t16'] = 'atelier-cave-t16'
    """
    Atelier Cave: Base-16 color style by "Bram de Haan".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    ATELIER_DUNE_T16: Literal['atelier-dune-t16'] = 'atelier-dune-t16'
    """
    Atelier Dune: Base-16 color style by "Bram de Haan".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    ATELIER_ESTUARY_T16: Literal['atelier-estuary-t16'] = 'atelier-estuary-t16'
    """
    Atelier Estuary: Base-16 color style by "Bram de Haan".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    ATELIER_FOREST_T16: Literal['atelier-forest-t16'] = 'atelier-forest-t16'
    """
    Atelier Forest: Base-16 color style by "Bram de Haan".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    ATELIER_HEATH_T16: Literal['atelier-heath-t16'] = 'atelier-heath-t16'
    """
    Atelier Heath: Base-16 color style by "Bram de Haan".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    ATELIER_LAKESIDE_T16: Literal['atelier-lakeside-t16'] = 'atelier-lakeside-t16'
    """
    Atelier Lakeside: Base-16 color style by "Bram de Haan".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    ATELIER_PLATEAU_T16: Literal['atelier-plateau-t16'] = 'atelier-plateau-t16'
    """
    Atelier Plateau: Base-16 color style by "Bram de Haan".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    ATELIER_SAVANNA_T16: Literal['atelier-savanna-t16'] = 'atelier-savanna-t16'
    """
    Atelier Savanna: Base-16 color style by "Bram de Haan".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    ATELIER_SEASIDE_T16: Literal['atelier-seaside-t16'] = 'atelier-seaside-t16'
    """
    Atelier Seaside: Base-16 color style by "Bram de Haan".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    ATELIER_SULPHURPOOL_T16: Literal['atelier-sulphurpool-t16'] = 'atelier-sulphurpool-t16'
    """
    Atelier Sulphurpool: Base-16 color style by "Bram de Haan".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    ATLAS_T16: Literal['atlas-t16'] = 'atlas-t16'
    """
    Atlas: Base-16 color style by "Alex Lende".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    AYU_DARK_T16: Literal['ayu-dark-t16'] = 'ayu-dark-t16'
    """
    Ayu Dark: Base-16 color style by "Khue Nguyen".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    AYU_MIRAGE_T16: Literal['ayu-mirage-t16'] = 'ayu-mirage-t16'
    """
    Ayu Mirage: Base-16 color style by "Khue Nguyen".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    AZTEC_T16: Literal['aztec-t16'] = 'aztec-t16'
    """
    Aztec: Base-16 color style by "TheNeverMan".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    BESPIN_T16: Literal['bespin-t16'] = 'bespin-t16'
    """
    Bespin: Base-16 color style by "Jan T. Sott".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    BLACK_METAL_BATHORY_T16: Literal['black-metal-bathory-t16'] = 'black-metal-bathory-t16'
    """
    Black Metal (Bathory): Base-16 color style by "metalelf0".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    BLACK_METAL_BURZUM_T16: Literal['black-metal-burzum-t16'] = 'black-metal-burzum-t16'
    """
    Black Metal (Burzum): Base-16 color style by "metalelf0".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    BLACK_METAL_DARK_FUNERAL_T16: Literal[
        'black-metal-dark-funeral-t16'] = 'black-metal-dark-funeral-t16'
    """
    Black Metal (Dark Funeral): Base-16 color style by "metalelf0".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    BLACK_METAL_GORGOROTH_T16: Literal['black-metal-gorgoroth-t16'] = 'black-metal-gorgoroth-t16'
    """
    Black Metal (Gorgoroth): Base-16 color style by "metalelf0".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    BLACK_METAL_IMMORTAL_T16: Literal['black-metal-immortal-t16'] = 'black-metal-immortal-t16'
    """
    Black Metal (Immortal): Base-16 color style by "metalelf0".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    BLACK_METAL_KHOLD_T16: Literal['black-metal-khold-t16'] = 'black-metal-khold-t16'
    """
    Black Metal (Khold): Base-16 color style by "metalelf0".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    BLACK_METAL_MARDUK_T16: Literal['black-metal-marduk-t16'] = 'black-metal-marduk-t16'
    """
    Black Metal (Marduk): Base-16 color style by "metalelf0".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    BLACK_METAL_MAYHEM_T16: Literal['black-metal-mayhem-t16'] = 'black-metal-mayhem-t16'
    """
    Black Metal (Mayhem): Base-16 color style by "metalelf0".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    BLACK_METAL_NILE_T16: Literal['black-metal-nile-t16'] = 'black-metal-nile-t16'
    """
    Black Metal (Nile): Base-16 color style by "metalelf0".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    BLACK_METAL_VENOM_T16: Literal['black-metal-venom-t16'] = 'black-metal-venom-t16'
    """
    Black Metal (Venom): Base-16 color style by "metalelf0".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    BLACK_METAL_T16: Literal['black-metal-t16'] = 'black-metal-t16'
    """
    Black Metal: Base-16 color style by "metalelf0".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    BLUEFOREST_T16: Literal['blueforest-t16'] = 'blueforest-t16'
    """
    Blue Forest: Base-16 color style by "alonsodomin".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    BLUEISH_T16: Literal['blueish-t16'] = 'blueish-t16'
    """
    Blueish: Base-16 color style by "Ben Mayoras".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    BREWER_T16: Literal['brewer-t16'] = 'brewer-t16'
    """
    Brewer: Base-16 color style by "Timothée Poisot".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    BRIGHT_T16: Literal['bright-t16'] = 'bright-t16'
    """
    Bright: Base-16 color style by "Chris Kempson".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    CAROLINE_T16: Literal['caroline-t16'] = 'caroline-t16'
    """
    caroline: Base-16 color style by "ed".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    CATPPUCCIN_FRAPPE_T16: Literal['catppuccin-frappe-t16'] = 'catppuccin-frappe-t16'
    """
    Catppuccin Frappe: Base-16 color style.

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    CATPPUCCIN_MACCHIATO_T16: Literal['catppuccin-macchiato-t16'] = 'catppuccin-macchiato-t16'
    """
    Catppuccin Macchiato: Base-16 color style.

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    CATPPUCCIN_MOCHA_T16: Literal['catppuccin-mocha-t16'] = 'catppuccin-mocha-t16'
    """
    Catppuccin Mocha: Base-16 color style.

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    CHALK_T16: Literal['chalk-t16'] = 'chalk-t16'
    """
    Chalk: Base-16 color style by "Chris Kempson".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    CHARCOAL_DARK_T16: Literal['charcoal-dark-t16'] = 'charcoal-dark-t16'
    """
    Charcoal Dark: Base-16 color style by "Mubin Muhammad".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    CHICAGO_NIGHT_T16: Literal['chicago-night-t16'] = 'chicago-night-t16'
    """
    Chicago Night: Base-16 color style by "Wendell, Ryan".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    CHINOISERIE_MIDNIGHT_T16: Literal['chinoiserie-midnight-t16'] = 'chinoiserie-midnight-t16'
    """
    Chinoiserie Midnight: Base-16 color style by "Di Wang".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    CHINOISERIE_MORANDI_T16: Literal['chinoiserie-morandi-t16'] = 'chinoiserie-morandi-t16'
    """
    Chinoiserie Morandi: Base-16 color style by "Di Wang".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    CHINOISERIE_NIGHT_T16: Literal['chinoiserie-night-t16'] = 'chinoiserie-night-t16'
    """
    Chinoiserie Night: Base-16 color style by "Di Wang".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    CIRCUS_T16: Literal['circus-t16'] = 'circus-t16'
    """
    Circus: Base-16 color style by "Stephan Boyer".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    CLASSIC_DARK_T16: Literal['classic-dark-t16'] = 'classic-dark-t16'
    """
    Classic Dark: Base-16 color style by "Jason Heeris".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    CODESCHOOL_T16: Literal['codeschool-t16'] = 'codeschool-t16'
    """
    Codeschool: Base-16 color style by "blockloop".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    COLORS_T16: Literal['colors-t16'] = 'colors-t16'
    """
    Colors: Base-16 color style by "mrmrs".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    DA_ONE_BLACK_T16: Literal['da-one-black-t16'] = 'da-one-black-t16'
    """
    Da One Black: Base-16 color style by "NNB".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    DA_ONE_GRAY_T16: Literal['da-one-gray-t16'] = 'da-one-gray-t16'
    """
    Da One Gray: Base-16 color style by "NNB".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    DA_ONE_OCEAN_T16: Literal['da-one-ocean-t16'] = 'da-one-ocean-t16'
    """
    Da One Ocean: Base-16 color style by "NNB".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    DA_ONE_SEA_T16: Literal['da-one-sea-t16'] = 'da-one-sea-t16'
    """
    Da One Sea: Base-16 color style by "NNB".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    DANQING_T16: Literal['danqing-t16'] = 'danqing-t16'
    """
    DanQing: Base-16 color style by "Wenhan Zhu".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    DARCULA_T16: Literal['darcula-t16'] = 'darcula-t16'
    """
    Darcula: Base-16 color style by "jetbrains".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    DARKMOSS_T16: Literal['darkmoss-t16'] = 'darkmoss-t16'
    """
    darkmoss: Base-16 color style by "Gabriel Avanzi".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    DARKTOOTH_T16: Literal['darktooth-t16'] = 'darktooth-t16'
    """
    Darktooth: Base-16 color style by "Jason Milkins".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    DARKVIOLET_T16: Literal['darkviolet-t16'] = 'darkviolet-t16'
    """
    Dark Violet: Base-16 color style by "ruler501".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    DECAF_T16: Literal['decaf-t16'] = 'decaf-t16'
    """
    Decaf: Base-16 color style by "Alex Mirrington".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    DEEP_OCEANIC_NEXT_T16: Literal['deep-oceanic-next-t16'] = 'deep-oceanic-next-t16'
    """
    Deep Oceanic Next: Base-16 color style by "spearkkk".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    DEFAULT_DARK_T16: Literal['default-dark-t16'] = 'default-dark-t16'
    """
    Default Dark: Base-16 color style by "Chris Kempson".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    DIGITAL_RAIN_T16: Literal['digital-rain-t16'] = 'digital-rain-t16'
    """
    Digital Rain: Base-16 color style by "Nathan Byrd".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    DRACULA_T16: Literal['dracula-t16'] = 'dracula-t16'
    """
    Dracula: Base-16 color style by "Jamy Golden".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    EDGE_DARK_T16: Literal['edge-dark-t16'] = 'edge-dark-t16'
    """
    Edge Dark: Base-16 color style by "cjayross".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    EIGHTIES_T16: Literal['eighties-t16'] = 'eighties-t16'
    """
    Eighties: Base-16 color style by "Chris Kempson".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    EMBERS_T16: Literal['embers-t16'] = 'embers-t16'
    """
    Embers: Base-16 color style by "Jannik Siebert".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    EQUILIBRIUM_DARK_T16: Literal['equilibrium-dark-t16'] = 'equilibrium-dark-t16'
    """
    Equilibrium Dark: Base-16 color style by "Carlo Abelli".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    EQUILIBRIUM_GRAY_DARK_T16: Literal['equilibrium-gray-dark-t16'] = 'equilibrium-gray-dark-t16'
    """
    Equilibrium Gray Dark: Base-16 color style by "Carlo Abelli".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    ESPRESSO_T16: Literal['espresso-t16'] = 'espresso-t16'
    """
    Espresso: Base-16 color style by "Unknown. Maintained by Alex
    Mirrington".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    EVENOK_DARK_T16: Literal['evenok-dark-t16'] = 'evenok-dark-t16'
    """
    Evenok Dark: Base-16 color style by "Mekeor Melire".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    EVERFOREST_DARK_HARD_T16: Literal['everforest-dark-hard-t16'] = 'everforest-dark-hard-t16'
    """
    Everforest Dark Hard: Base-16 color style by "Sainnhe Park".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    EVERFOREST_DARK_SOFT_T16: Literal['everforest-dark-soft-t16'] = 'everforest-dark-soft-t16'
    """
    Everforest Dark Soft: Base-16 color style by "Sainnhe Park".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    EVERFOREST_T16: Literal['everforest-t16'] = 'everforest-t16'
    """
    Everforest: Base-16 color style by "Sainnhe Park".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    FLAT_T16: Literal['flat-t16'] = 'flat-t16'
    """
    Flat: Base-16 color style by "Chris Kempson".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    FRAMER_T16: Literal['framer-t16'] = 'framer-t16'
    """
    Framer: Base-16 color style by "Framer".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    GIGAVOLT_T16: Literal['gigavolt-t16'] = 'gigavolt-t16'
    """
    Gigavolt: Base-16 color style by "Aidan Swope".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    GITHUB_DARK_T16: Literal['github-dark-t16'] = 'github-dark-t16'
    """
    Github Dark: Base-16 color style by "Tinted Theming".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    GOOGLE_DARK_T16: Literal['google-dark-t16'] = 'google-dark-t16'
    """
    Google Dark: Base-16 color style by "Seth Wright".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    GOTHAM_T16: Literal['gotham-t16'] = 'gotham-t16'
    """
    Gotham: Base-16 color style by "Andrea Leopardi".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    GRAYSCALE_DARK_T16: Literal['grayscale-dark-t16'] = 'grayscale-dark-t16'
    """
    Grayscale Dark: Base-16 color style by "Alexandre Gavioli".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    GREENSCREEN_T16: Literal['greenscreen-t16'] = 'greenscreen-t16'
    """
    Green Screen: Base-16 color style by "Chris Kempson".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    GRUBER_T16: Literal['gruber-t16'] = 'gruber-t16'
    """
    Gruber: Base-16 color style by "Patel, Nimai, colors from
    www.github.com/rexim/gruber-darker-theme".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    GRUVBOX_DARK_HARD_T16: Literal['gruvbox-dark-hard-t16'] = 'gruvbox-dark-hard-t16'
    """
    Gruvbox dark, hard: Base-16 color style by "Dawid Kurek".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    GRUVBOX_DARK_MEDIUM_T16: Literal['gruvbox-dark-medium-t16'] = 'gruvbox-dark-medium-t16'
    """
    Gruvbox dark, medium: Base-16 color style by "Dawid Kurek".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    GRUVBOX_DARK_PALE_T16: Literal['gruvbox-dark-pale-t16'] = 'gruvbox-dark-pale-t16'
    """
    Gruvbox dark, pale: Base-16 color style by "Dawid Kurek".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    GRUVBOX_DARK_SOFT_T16: Literal['gruvbox-dark-soft-t16'] = 'gruvbox-dark-soft-t16'
    """
    Gruvbox dark, soft: Base-16 color style by "Dawid Kurek".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    GRUVBOX_DARK_T16: Literal['gruvbox-dark-t16'] = 'gruvbox-dark-t16'
    """
    Gruvbox dark: Base-16 color style by "Tinted Theming".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    GRUVBOX_MATERIAL_DARK_HARD_T16: Literal[
        'gruvbox-material-dark-hard-t16'] = 'gruvbox-material-dark-hard-t16'
    """
    Gruvbox Material Dark, Hard: Base-16 color style by "Mayush Kumar".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    GRUVBOX_MATERIAL_DARK_MEDIUM_T16: Literal[
        'gruvbox-material-dark-medium-t16'] = 'gruvbox-material-dark-medium-t16'
    """
    Gruvbox Material Dark, Medium: Base-16 color style by "Mayush Kumar".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    GRUVBOX_MATERIAL_DARK_SOFT_T16: Literal[
        'gruvbox-material-dark-soft-t16'] = 'gruvbox-material-dark-soft-t16'
    """
    Gruvbox Material Dark, Soft: Base-16 color style by "Mayush Kumar".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    HARDCORE_T16: Literal['hardcore-t16'] = 'hardcore-t16'
    """
    Hardcore: Base-16 color style by "Chris Caller".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    HARDHACKER_T16: Literal['hardhacker-t16'] = 'hardhacker-t16'
    """
    Hardhacker: Base-16 color style by "fe2-Nyxar, based on the
    https://github.com/hardhackerlabs".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    HARMONIC16_DARK_T16: Literal['harmonic16-dark-t16'] = 'harmonic16-dark-t16'
    """
    Harmonic16 Dark: Base-16 color style by "Jannik Siebert".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    HEETCH_T16: Literal['heetch-t16'] = 'heetch-t16'
    """
    Heetch Dark: Base-16 color style by "Geoffrey Teale".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    HELIOS_T16: Literal['helios-t16'] = 'helios-t16'
    """
    Helios: Base-16 color style by "Alex Meyer".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    HOPSCOTCH_T16: Literal['hopscotch-t16'] = 'hopscotch-t16'
    """
    Hopscotch: Base-16 color style by "Jan T. Sott".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    HORIZON_DARK_T16: Literal['horizon-dark-t16'] = 'horizon-dark-t16'
    """
    Horizon Dark: Base-16 color style by "Michaël Ball".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    HORIZON_TERMINAL_DARK_T16: Literal['horizon-terminal-dark-t16'] = 'horizon-terminal-dark-t16'
    """
    Horizon Terminal Dark: Base-16 color style by "Michaël Ball".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    HUMANOID_DARK_T16: Literal['humanoid-dark-t16'] = 'humanoid-dark-t16'
    """
    Humanoid dark: Base-16 color style by "Thomas Friese".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    IA_DARK_T16: Literal['ia-dark-t16'] = 'ia-dark-t16'
    """
    iA Dark: Base-16 color style by "iA Inc.".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    IRBLACK_T16: Literal['irblack-t16'] = 'irblack-t16'
    """
    IR Black: Base-16 color style by "Timothée Poisot".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    ISOTOPE_T16: Literal['isotope-t16'] = 'isotope-t16'
    """
    Isotope: Base-16 color style by "Jan T. Sott".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    JABUTI_T16: Literal['jabuti-t16'] = 'jabuti-t16'
    """
    Jabuti: Base-16 color style.

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    KANAGAWA_DRAGON_T16: Literal['kanagawa-dragon-t16'] = 'kanagawa-dragon-t16'
    """
    Kanagawa Dragon: Base-16 color style by "Tommaso Laurenzi".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    KANAGAWA_T16: Literal['kanagawa-t16'] = 'kanagawa-t16'
    """
    Kanagawa: Base-16 color style by "Tommaso Laurenzi".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    KATY_T16: Literal['katy-t16'] = 'katy-t16'
    """
    Katy: Base-16 color style by "George Essig".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    KIMBER_T16: Literal['kimber-t16'] = 'kimber-t16'
    """
    Kimber: Base-16 color style by "Mishka Nguyen".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    LINUX_VT_T16: Literal['linux-vt-t16'] = 'linux-vt-t16'
    """
    Linux VT: Base-16 color style by "j-c-m".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    MACINTOSH_T16: Literal['macintosh-t16'] = 'macintosh-t16'
    """
    Macintosh: Base-16 color style by "Rebecca Bettencourt".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    MARRAKESH_T16: Literal['marrakesh-t16'] = 'marrakesh-t16'
    """
    Marrakesh: Base-16 color style by "Alexandre Gavioli".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    MATERIA_T16: Literal['materia-t16'] = 'materia-t16'
    """
    Materia: Base-16 color style by "Defman21".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    MATERIAL_DARKER_T16: Literal['material-darker-t16'] = 'material-darker-t16'
    """
    Material Darker: Base-16 color style by "Nate Peterson".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    MATERIAL_PALENIGHT_T16: Literal['material-palenight-t16'] = 'material-palenight-t16'
    """
    Material Palenight: Base-16 color style by "Nate Peterson".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    MATERIAL_T16: Literal['material-t16'] = 'material-t16'
    """
    Material: Base-16 color style by "Nate Peterson".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    MEASURED_DARK_T16: Literal['measured-dark-t16'] = 'measured-dark-t16'
    """
    Measured Dark: Base-16 color style by "Measured".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    MELLOW_PURPLE_T16: Literal['mellow-purple-t16'] = 'mellow-purple-t16'
    """
    Mellow Purple: Base-16 color style by "gidsi".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    MOCHA_T16: Literal['mocha-t16'] = 'mocha-t16'
    """
    Mocha: Base-16 color style by "Chris Kempson".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    MONOKAI_T16: Literal['monokai-t16'] = 'monokai-t16'
    """
    Monokai: Base-16 color style by "Wimer Hazenberg".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    MOONLIGHT_T16: Literal['moonlight-t16'] = 'moonlight-t16'
    """
    Moonlight: Base-16 color style by "Jeremy Swinarton".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    MOUNTAIN_T16: Literal['mountain-t16'] = 'mountain-t16'
    """
    Mountain: Base-16 color style by "gnsfujiwara".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    NEBULA_T16: Literal['nebula-t16'] = 'nebula-t16'
    """
    Nebula: Base-16 color style by "Gabriel Fontes".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    NORD_T16: Literal['nord-t16'] = 'nord-t16'
    """
    Nord: Base-16 color style by "arcticicestudio".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    NOVA_T16: Literal['nova-t16'] = 'nova-t16'
    """
    Nova: Base-16 color style by "George Essig".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    OCEAN_T16: Literal['ocean-t16'] = 'ocean-t16'
    """
    Ocean: Base-16 color style by "Chris Kempson".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    OCEANICNEXT_T16: Literal['oceanicnext-t16'] = 'oceanicnext-t16'
    """
    OceanicNext: Base-16 color style.

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    ONEDARK_DARK_T16: Literal['onedark-dark-t16'] = 'onedark-dark-t16'
    """
    OneDark Dark: Base-16 color style by "olimorris".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    ONEDARK_T16: Literal['onedark-t16'] = 'onedark-t16'
    """
    OneDark: Base-16 color style by "Lalit Magant".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    OUTRUN_DARK_T16: Literal['outrun-dark-t16'] = 'outrun-dark-t16'
    """
    Outrun Dark: Base-16 color style by "Hugo Delahousse".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    OXOCARBON_DARK_T16: Literal['oxocarbon-dark-t16'] = 'oxocarbon-dark-t16'
    """
    Oxocarbon Dark: Base-16 color style by "shaunsingh/IBM".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    PANDORA_T16: Literal['pandora-t16'] = 'pandora-t16'
    """
    pandora: Base-16 color style by "Cassandra Fox".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    PARAISO_T16: Literal['paraiso-t16'] = 'paraiso-t16'
    """
    Paraiso: Base-16 color style by "Jan T. Sott".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    PASQUE_T16: Literal['pasque-t16'] = 'pasque-t16'
    """
    Pasque: Base-16 color style by "Gabriel Fontes".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    PENUMBRA_DARK_CONTRAST_PLUS_PLUS_T16: Literal[
        'penumbra-dark-contrast-plus-plus-t16'] = 'penumbra-dark-contrast-plus-plus-t16'
    """
    Penumbra Dark Contrast Plus Plus: Base-16 color style by "Zachary
    Weiss".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    PENUMBRA_DARK_CONTRAST_PLUS_T16: Literal[
        'penumbra-dark-contrast-plus-t16'] = 'penumbra-dark-contrast-plus-t16'
    """
    Penumbra Dark Contrast Plus: Base-16 color style by "Zachary Weiss".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    PENUMBRA_DARK_T16: Literal['penumbra-dark-t16'] = 'penumbra-dark-t16'
    """
    Penumbra Dark: Base-16 color style by "Zachary Weiss".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    PHD_T16: Literal['phd-t16'] = 'phd-t16'
    """
    PhD: Base-16 color style by "Hennig Hasemann".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    PINKY_T16: Literal['pinky-t16'] = 'pinky-t16'
    """
    pinky: Base-16 color style by "Benjamin".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    POP_T16: Literal['pop-t16'] = 'pop-t16'
    """
    Pop: Base-16 color style by "Chris Kempson".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    PORPLE_T16: Literal['porple-t16'] = 'porple-t16'
    """
    Porple: Base-16 color style by "Niek den Breeje".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    PRECIOUS_DARK_ELEVEN_T16: Literal['precious-dark-eleven-t16'] = 'precious-dark-eleven-t16'
    """
    Precious Dark Eleven: Base-16 color style by "4lex4".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    PRECIOUS_DARK_FIFTEEN_T16: Literal['precious-dark-fifteen-t16'] = 'precious-dark-fifteen-t16'
    """
    Precious Dark Fifteen: Base-16 color style by "4lex4".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    PRIMER_DARK_DIMMED_T16: Literal['primer-dark-dimmed-t16'] = 'primer-dark-dimmed-t16'
    """
    Primer Dark Dimmed: Base-16 color style by "Jimmy Lin".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    PRIMER_DARK_T16: Literal['primer-dark-t16'] = 'primer-dark-t16'
    """
    Primer Dark: Base-16 color style by "Jimmy Lin".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    PURPLEDREAM_T16: Literal['purpledream-t16'] = 'purpledream-t16'
    """
    Purpledream: Base-16 color style by "malet".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    QUALIA_T16: Literal['qualia-t16'] = 'qualia-t16'
    """
    Qualia: Base-16 color style by "isaacwhanson".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    RAILSCASTS_T16: Literal['railscasts-t16'] = 'railscasts-t16'
    """
    Railscasts: Base-16 color style by "Ryan Bates".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    REBECCA_T16: Literal['rebecca-t16'] = 'rebecca-t16'
    """
    Rebecca: Base-16 color style by "Victor Borja".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    ROSE_PINE_MOON_T16: Literal['rose-pine-moon-t16'] = 'rose-pine-moon-t16'
    """
    Rosé Pine Moon: Base-16 color style by "Emilia Dunfelt".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    ROSE_PINE_T16: Literal['rose-pine-t16'] = 'rose-pine-t16'
    """
    Rosé Pine: Base-16 color style by "Emilia Dunfelt".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    SAGA_T16: Literal['saga-t16'] = 'saga-t16'
    """
    SAGA: Base-16 color style.

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    SANDCASTLE_T16: Literal['sandcastle-t16'] = 'sandcastle-t16'
    """
    Sandcastle: Base-16 color style by "George Essig".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    SELENIZED_BLACK_T16: Literal['selenized-black-t16'] = 'selenized-black-t16'
    """
    selenized-black: Base-16 color style by "Jan Warchol / adapted to base16
    by ali".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    SELENIZED_DARK_T16: Literal['selenized-dark-t16'] = 'selenized-dark-t16'
    """
    selenized-dark: Base-16 color style by "Jan Warchol / adapted to base16
    by ali".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    SETI_T16: Literal['seti-t16'] = 'seti-t16'
    """
    Seti UI: Base-16 color style by "".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    SHADES_OF_PURPLE_T16: Literal['shades-of-purple-t16'] = 'shades-of-purple-t16'
    """
    Shades of Purple: Base-16 color style by "Iolar Demartini Junior".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    SHADESMEAR_DARK_T16: Literal['shadesmear-dark-t16'] = 'shadesmear-dark-t16'
    """
    ShadeSmear Dark: Base-16 color style by "Kyle Giammarco".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    SILK_DARK_T16: Literal['silk-dark-t16'] = 'silk-dark-t16'
    """
    Silk Dark: Base-16 color style by "Gabriel Fontes".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    SNAZZY_T16: Literal['snazzy-t16'] = 'snazzy-t16'
    """
    Snazzy: Base-16 color style by "Chawye Hsu".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    SOLARFLARE_T16: Literal['solarflare-t16'] = 'solarflare-t16'
    """
    Solar Flare: Base-16 color style by "Chuck Harmston".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    SOLARIZED_DARK_T16: Literal['solarized-dark-t16'] = 'solarized-dark-t16'
    """
    Solarized Dark: Base-16 color style by "Ethan Schoonover".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    SPACEDUCK_T16: Literal['spaceduck-t16'] = 'spaceduck-t16'
    """
    Spaceduck: Base-16 color style by "Guillermo Rodriguez".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    SPACEMACS_T16: Literal['spacemacs-t16'] = 'spacemacs-t16'
    """
    Spacemacs: Base-16 color style by "Nasser Alshammari".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    SPARKY_T16: Literal['sparky-t16'] = 'sparky-t16'
    """
    Sparky: Base-16 color style by "Leila Sother".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    STANDARDIZED_DARK_T16: Literal['standardized-dark-t16'] = 'standardized-dark-t16'
    """
    standardized-dark: Base-16 color style by "ali".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    STELLA_T16: Literal['stella-t16'] = 'stella-t16'
    """
    Stella: Base-16 color style by "Shrimpram".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    SUMMERFRUIT_DARK_T16: Literal['summerfruit-dark-t16'] = 'summerfruit-dark-t16'
    """
    Summerfruit Dark: Base-16 color style by "Christopher Corley".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    SYNTH_MIDNIGHT_DARK_T16: Literal['synth-midnight-dark-t16'] = 'synth-midnight-dark-t16'
    """
    Synth Midnight Terminal Dark: Base-16 color style by "Michaël Ball".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    TANGO_T16: Literal['tango-t16'] = 'tango-t16'
    """
    Tango: Base-16 color style by "@Schnouki, based on the Tango Desktop
    Project".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    TENDER_T16: Literal['tender-t16'] = 'tender-t16'
    """
    tender: Base-16 color style by "Jacobo Tabernero".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    TERRACOTTA_DARK_T16: Literal['terracotta-dark-t16'] = 'terracotta-dark-t16'
    """
    Terracotta Dark: Base-16 color style by "Alexander Rossell Hayes".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    TOKYO_CITY_DARK_T16: Literal['tokyo-city-dark-t16'] = 'tokyo-city-dark-t16'
    """
    Tokyo City Dark: Base-16 color style by "Michaël Ball".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    TOKYO_CITY_TERMINAL_DARK_T16: Literal[
        'tokyo-city-terminal-dark-t16'] = 'tokyo-city-terminal-dark-t16'
    """
    Tokyo City Terminal Dark: Base-16 color style by "Michaël Ball".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    TOKYO_NIGHT_DARK_T16: Literal['tokyo-night-dark-t16'] = 'tokyo-night-dark-t16'
    """
    Tokyo Night Dark: Base-16 color style by "Michaël Ball".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    TOKYO_NIGHT_STORM_T16: Literal['tokyo-night-storm-t16'] = 'tokyo-night-storm-t16'
    """
    Tokyo Night Storm: Base-16 color style by "Michaël Ball".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    TOKYODARK_TERMINAL_T16: Literal['tokyodark-terminal-t16'] = 'tokyodark-terminal-t16'
    """
    Tokyodark Terminal: Base-16 color style by "Tiagovla".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    TOKYODARK_T16: Literal['tokyodark-t16'] = 'tokyodark-t16'
    """
    Tokyodark: Base-16 color style by "Jamy Golden".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    TOMORROW_NIGHT_EIGHTIES_T16: Literal[
        'tomorrow-night-eighties-t16'] = 'tomorrow-night-eighties-t16'
    """
    Tomorrow Night Eighties: Base-16 color style by "Chris Kempson".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    TOMORROW_NIGHT_T16: Literal['tomorrow-night-t16'] = 'tomorrow-night-t16'
    """
    Tomorrow Night: Base-16 color style by "Chris Kempson".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    TUBE_T16: Literal['tube-t16'] = 'tube-t16'
    """
    London Tube: Base-16 color style by "Jan T. Sott".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    TWILIGHT_T16: Literal['twilight-t16'] = 'twilight-t16'
    """
    Twilight: Base-16 color style by "David Hart".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    UNIKITTY_DARK_T16: Literal['unikitty-dark-t16'] = 'unikitty-dark-t16'
    """
    Unikitty Dark: Base-16 color style by "Josh W Lewis".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    UNIKITTY_REVERSIBLE_T16: Literal['unikitty-reversible-t16'] = 'unikitty-reversible-t16'
    """
    Unikitty Reversible: Base-16 color style by "Josh W Lewis".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    UWUNICORN_T16: Literal['uwunicorn-t16'] = 'uwunicorn-t16'
    """
    UwUnicorn: Base-16 color style by "Fernando Marques".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    VALUA_T16: Literal['valua-t16'] = 'valua-t16'
    """
    Valua: Base-16 color style by "Nonetrix".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    VESPER_T16: Literal['vesper-t16'] = 'vesper-t16'
    """
    Vesper: Base-16 color style by "FormalSnake".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    VICE_T16: Literal['vice-t16'] = 'vice-t16'
    """
    vice: Base-16 color style by "Thomas Leon Highbaugh".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    WINDOWS_10_T16: Literal['windows-10-t16'] = 'windows-10-t16'
    """
    Windows 10: Base-16 color style by "Fergus Collins".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    WINDOWS_95_T16: Literal['windows-95-t16'] = 'windows-95-t16'
    """
    Windows 95: Base-16 color style by "Fergus Collins".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    WINDOWS_HIGHCONTRAST_T16: Literal['windows-highcontrast-t16'] = 'windows-highcontrast-t16'
    """
    Windows High Contrast: Base-16 color style by "Fergus Collins".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    WINDOWS_NT_T16: Literal['windows-nt-t16'] = 'windows-nt-t16'
    """
    Windows NT: Base-16 color style by "Fergus Collins".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    WOODLAND_T16: Literal['woodland-t16'] = 'woodland-t16'
    """
    Woodland: Base-16 color style by "Jay Cornwall".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    XCODE_DUSK_T16: Literal['xcode-dusk-t16'] = 'xcode-dusk-t16'
    """
    XCode Dusk: Base-16 color style by "Elsa Gonsiorowski".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    ZENBONES_T16: Literal['zenbones-t16'] = 'zenbones-t16'
    """
    Zenbones: Base-16 color style by "mcchrish".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    ZENBURN_T16: Literal['zenburn-t16'] = 'zenburn-t16'
    """
    Zenburn: Base-16 color style by "elnawe".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    RANDOM_DARK_HIGH_CONTRAST_T16: Literal['random-dark-high-t16'] = 'random-dark-high-t16'

APATHY_T16 class-attribute instance-attribute

APATHY_T16: Literal['apathy-t16'] = 'apathy-t16'

Apathy: Base-16 color style by "Jannik Siebert".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

ASHES_T16 class-attribute instance-attribute

ASHES_T16: Literal['ashes-t16'] = 'ashes-t16'

Ashes: Base-16 color style by "Jannik Siebert".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

ATELIER_CAVE_T16 class-attribute instance-attribute

ATELIER_CAVE_T16: Literal['atelier-cave-t16'] = 'atelier-cave-t16'

Atelier Cave: Base-16 color style by "Bram de Haan".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

ATELIER_DUNE_T16 class-attribute instance-attribute

ATELIER_DUNE_T16: Literal['atelier-dune-t16'] = 'atelier-dune-t16'

Atelier Dune: Base-16 color style by "Bram de Haan".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

ATELIER_ESTUARY_T16 class-attribute instance-attribute

ATELIER_ESTUARY_T16: Literal['atelier-estuary-t16'] = 'atelier-estuary-t16'

Atelier Estuary: Base-16 color style by "Bram de Haan".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

ATELIER_FOREST_T16 class-attribute instance-attribute

ATELIER_FOREST_T16: Literal['atelier-forest-t16'] = 'atelier-forest-t16'

Atelier Forest: Base-16 color style by "Bram de Haan".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

ATELIER_HEATH_T16 class-attribute instance-attribute

ATELIER_HEATH_T16: Literal['atelier-heath-t16'] = 'atelier-heath-t16'

Atelier Heath: Base-16 color style by "Bram de Haan".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

ATELIER_LAKESIDE_T16 class-attribute instance-attribute

ATELIER_LAKESIDE_T16: Literal['atelier-lakeside-t16'] = 'atelier-lakeside-t16'

Atelier Lakeside: Base-16 color style by "Bram de Haan".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

ATELIER_PLATEAU_T16 class-attribute instance-attribute

ATELIER_PLATEAU_T16: Literal['atelier-plateau-t16'] = 'atelier-plateau-t16'

Atelier Plateau: Base-16 color style by "Bram de Haan".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

ATELIER_SAVANNA_T16 class-attribute instance-attribute

ATELIER_SAVANNA_T16: Literal['atelier-savanna-t16'] = 'atelier-savanna-t16'

Atelier Savanna: Base-16 color style by "Bram de Haan".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

ATELIER_SEASIDE_T16 class-attribute instance-attribute

ATELIER_SEASIDE_T16: Literal['atelier-seaside-t16'] = 'atelier-seaside-t16'

Atelier Seaside: Base-16 color style by "Bram de Haan".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

ATELIER_SULPHURPOOL_T16 class-attribute instance-attribute

ATELIER_SULPHURPOOL_T16: Literal['atelier-sulphurpool-t16'] = 'atelier-sulphurpool-t16'

Atelier Sulphurpool: Base-16 color style by "Bram de Haan".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

ATLAS_T16 class-attribute instance-attribute

ATLAS_T16: Literal['atlas-t16'] = 'atlas-t16'

Atlas: Base-16 color style by "Alex Lende".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

AYU_DARK_T16 class-attribute instance-attribute

AYU_DARK_T16: Literal['ayu-dark-t16'] = 'ayu-dark-t16'

Ayu Dark: Base-16 color style by "Khue Nguyen".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

AYU_MIRAGE_T16 class-attribute instance-attribute

AYU_MIRAGE_T16: Literal['ayu-mirage-t16'] = 'ayu-mirage-t16'

Ayu Mirage: Base-16 color style by "Khue Nguyen".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

AZTEC_T16 class-attribute instance-attribute

AZTEC_T16: Literal['aztec-t16'] = 'aztec-t16'

Aztec: Base-16 color style by "TheNeverMan".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

BESPIN_T16 class-attribute instance-attribute

BESPIN_T16: Literal['bespin-t16'] = 'bespin-t16'

Bespin: Base-16 color style by "Jan T. Sott".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

BLACK_METAL_BATHORY_T16 class-attribute instance-attribute

BLACK_METAL_BATHORY_T16: Literal['black-metal-bathory-t16'] = 'black-metal-bathory-t16'

Black Metal (Bathory): Base-16 color style by "metalelf0".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

BLACK_METAL_BURZUM_T16 class-attribute instance-attribute

BLACK_METAL_BURZUM_T16: Literal['black-metal-burzum-t16'] = 'black-metal-burzum-t16'

Black Metal (Burzum): Base-16 color style by "metalelf0".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

BLACK_METAL_DARK_FUNERAL_T16 class-attribute instance-attribute

BLACK_METAL_DARK_FUNERAL_T16: Literal["black-metal-dark-funeral-t16"] = (
    "black-metal-dark-funeral-t16"
)

Black Metal (Dark Funeral): Base-16 color style by "metalelf0".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

BLACK_METAL_GORGOROTH_T16 class-attribute instance-attribute

BLACK_METAL_GORGOROTH_T16: Literal['black-metal-gorgoroth-t16'] = 'black-metal-gorgoroth-t16'

Black Metal (Gorgoroth): Base-16 color style by "metalelf0".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

BLACK_METAL_IMMORTAL_T16 class-attribute instance-attribute

BLACK_METAL_IMMORTAL_T16: Literal['black-metal-immortal-t16'] = 'black-metal-immortal-t16'

Black Metal (Immortal): Base-16 color style by "metalelf0".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

BLACK_METAL_KHOLD_T16 class-attribute instance-attribute

BLACK_METAL_KHOLD_T16: Literal['black-metal-khold-t16'] = 'black-metal-khold-t16'

Black Metal (Khold): Base-16 color style by "metalelf0".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

BLACK_METAL_MARDUK_T16 class-attribute instance-attribute

BLACK_METAL_MARDUK_T16: Literal['black-metal-marduk-t16'] = 'black-metal-marduk-t16'

Black Metal (Marduk): Base-16 color style by "metalelf0".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

BLACK_METAL_MAYHEM_T16 class-attribute instance-attribute

BLACK_METAL_MAYHEM_T16: Literal['black-metal-mayhem-t16'] = 'black-metal-mayhem-t16'

Black Metal (Mayhem): Base-16 color style by "metalelf0".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

BLACK_METAL_NILE_T16 class-attribute instance-attribute

BLACK_METAL_NILE_T16: Literal['black-metal-nile-t16'] = 'black-metal-nile-t16'

Black Metal (Nile): Base-16 color style by "metalelf0".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

BLACK_METAL_T16 class-attribute instance-attribute

BLACK_METAL_T16: Literal['black-metal-t16'] = 'black-metal-t16'

Black Metal: Base-16 color style by "metalelf0".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

BLACK_METAL_VENOM_T16 class-attribute instance-attribute

BLACK_METAL_VENOM_T16: Literal['black-metal-venom-t16'] = 'black-metal-venom-t16'

Black Metal (Venom): Base-16 color style by "metalelf0".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

BLUEFOREST_T16 class-attribute instance-attribute

BLUEFOREST_T16: Literal['blueforest-t16'] = 'blueforest-t16'

Blue Forest: Base-16 color style by "alonsodomin".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

BLUEISH_T16 class-attribute instance-attribute

BLUEISH_T16: Literal['blueish-t16'] = 'blueish-t16'

Blueish: Base-16 color style by "Ben Mayoras".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

BREWER_T16 class-attribute instance-attribute

BREWER_T16: Literal['brewer-t16'] = 'brewer-t16'

Brewer: Base-16 color style by "Timothée Poisot".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

BRIGHT_T16 class-attribute instance-attribute

BRIGHT_T16: Literal['bright-t16'] = 'bright-t16'

Bright: Base-16 color style by "Chris Kempson".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

CAROLINE_T16 class-attribute instance-attribute

CAROLINE_T16: Literal['caroline-t16'] = 'caroline-t16'

caroline: Base-16 color style by "ed".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

CATPPUCCIN_FRAPPE_T16 class-attribute instance-attribute

CATPPUCCIN_FRAPPE_T16: Literal['catppuccin-frappe-t16'] = 'catppuccin-frappe-t16'

Catppuccin Frappe: Base-16 color style.

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

CATPPUCCIN_MACCHIATO_T16 class-attribute instance-attribute

CATPPUCCIN_MACCHIATO_T16: Literal['catppuccin-macchiato-t16'] = 'catppuccin-macchiato-t16'

Catppuccin Macchiato: Base-16 color style.

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

CATPPUCCIN_MOCHA_T16 class-attribute instance-attribute

CATPPUCCIN_MOCHA_T16: Literal['catppuccin-mocha-t16'] = 'catppuccin-mocha-t16'

Catppuccin Mocha: Base-16 color style.

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

CHALK_T16 class-attribute instance-attribute

CHALK_T16: Literal['chalk-t16'] = 'chalk-t16'

Chalk: Base-16 color style by "Chris Kempson".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

CHARCOAL_DARK_T16 class-attribute instance-attribute

CHARCOAL_DARK_T16: Literal['charcoal-dark-t16'] = 'charcoal-dark-t16'

Charcoal Dark: Base-16 color style by "Mubin Muhammad".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

CHICAGO_NIGHT_T16 class-attribute instance-attribute

CHICAGO_NIGHT_T16: Literal['chicago-night-t16'] = 'chicago-night-t16'

Chicago Night: Base-16 color style by "Wendell, Ryan".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

CHINOISERIE_MIDNIGHT_T16 class-attribute instance-attribute

CHINOISERIE_MIDNIGHT_T16: Literal['chinoiserie-midnight-t16'] = 'chinoiserie-midnight-t16'

Chinoiserie Midnight: Base-16 color style by "Di Wang".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

CHINOISERIE_MORANDI_T16 class-attribute instance-attribute

CHINOISERIE_MORANDI_T16: Literal['chinoiserie-morandi-t16'] = 'chinoiserie-morandi-t16'

Chinoiserie Morandi: Base-16 color style by "Di Wang".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

CHINOISERIE_NIGHT_T16 class-attribute instance-attribute

CHINOISERIE_NIGHT_T16: Literal['chinoiserie-night-t16'] = 'chinoiserie-night-t16'

Chinoiserie Night: Base-16 color style by "Di Wang".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

CIRCUS_T16 class-attribute instance-attribute

CIRCUS_T16: Literal['circus-t16'] = 'circus-t16'

Circus: Base-16 color style by "Stephan Boyer".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

CLASSIC_DARK_T16 class-attribute instance-attribute

CLASSIC_DARK_T16: Literal['classic-dark-t16'] = 'classic-dark-t16'

Classic Dark: Base-16 color style by "Jason Heeris".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

CODESCHOOL_T16 class-attribute instance-attribute

CODESCHOOL_T16: Literal['codeschool-t16'] = 'codeschool-t16'

Codeschool: Base-16 color style by "blockloop".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

COLORS_T16 class-attribute instance-attribute

COLORS_T16: Literal['colors-t16'] = 'colors-t16'

Colors: Base-16 color style by "mrmrs".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

DANQING_T16 class-attribute instance-attribute

DANQING_T16: Literal['danqing-t16'] = 'danqing-t16'

DanQing: Base-16 color style by "Wenhan Zhu".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

DARCULA_T16 class-attribute instance-attribute

DARCULA_T16: Literal['darcula-t16'] = 'darcula-t16'

Darcula: Base-16 color style by "jetbrains".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

DARKMOSS_T16 class-attribute instance-attribute

DARKMOSS_T16: Literal['darkmoss-t16'] = 'darkmoss-t16'

darkmoss: Base-16 color style by "Gabriel Avanzi".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

DARKTOOTH_T16 class-attribute instance-attribute

DARKTOOTH_T16: Literal['darktooth-t16'] = 'darktooth-t16'

Darktooth: Base-16 color style by "Jason Milkins".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

DARKVIOLET_T16 class-attribute instance-attribute

DARKVIOLET_T16: Literal['darkviolet-t16'] = 'darkviolet-t16'

Dark Violet: Base-16 color style by "ruler501".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

DA_ONE_BLACK_T16 class-attribute instance-attribute

DA_ONE_BLACK_T16: Literal['da-one-black-t16'] = 'da-one-black-t16'

Da One Black: Base-16 color style by "NNB".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

DA_ONE_GRAY_T16 class-attribute instance-attribute

DA_ONE_GRAY_T16: Literal['da-one-gray-t16'] = 'da-one-gray-t16'

Da One Gray: Base-16 color style by "NNB".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

DA_ONE_OCEAN_T16 class-attribute instance-attribute

DA_ONE_OCEAN_T16: Literal['da-one-ocean-t16'] = 'da-one-ocean-t16'

Da One Ocean: Base-16 color style by "NNB".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

DA_ONE_SEA_T16 class-attribute instance-attribute

DA_ONE_SEA_T16: Literal['da-one-sea-t16'] = 'da-one-sea-t16'

Da One Sea: Base-16 color style by "NNB".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

DECAF_T16 class-attribute instance-attribute

DECAF_T16: Literal['decaf-t16'] = 'decaf-t16'

Decaf: Base-16 color style by "Alex Mirrington".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

DEEP_OCEANIC_NEXT_T16 class-attribute instance-attribute

DEEP_OCEANIC_NEXT_T16: Literal['deep-oceanic-next-t16'] = 'deep-oceanic-next-t16'

Deep Oceanic Next: Base-16 color style by "spearkkk".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

DEFAULT_DARK_T16 class-attribute instance-attribute

DEFAULT_DARK_T16: Literal['default-dark-t16'] = 'default-dark-t16'

Default Dark: Base-16 color style by "Chris Kempson".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

DIGITAL_RAIN_T16 class-attribute instance-attribute

DIGITAL_RAIN_T16: Literal['digital-rain-t16'] = 'digital-rain-t16'

Digital Rain: Base-16 color style by "Nathan Byrd".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

DRACULA_T16 class-attribute instance-attribute

DRACULA_T16: Literal['dracula-t16'] = 'dracula-t16'

Dracula: Base-16 color style by "Jamy Golden".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

EDGE_DARK_T16 class-attribute instance-attribute

EDGE_DARK_T16: Literal['edge-dark-t16'] = 'edge-dark-t16'

Edge Dark: Base-16 color style by "cjayross".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

EIGHTIES_T16 class-attribute instance-attribute

EIGHTIES_T16: Literal['eighties-t16'] = 'eighties-t16'

Eighties: Base-16 color style by "Chris Kempson".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

EMBERS_T16 class-attribute instance-attribute

EMBERS_T16: Literal['embers-t16'] = 'embers-t16'

Embers: Base-16 color style by "Jannik Siebert".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

EQUILIBRIUM_DARK_T16 class-attribute instance-attribute

EQUILIBRIUM_DARK_T16: Literal['equilibrium-dark-t16'] = 'equilibrium-dark-t16'

Equilibrium Dark: Base-16 color style by "Carlo Abelli".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

EQUILIBRIUM_GRAY_DARK_T16 class-attribute instance-attribute

EQUILIBRIUM_GRAY_DARK_T16: Literal['equilibrium-gray-dark-t16'] = 'equilibrium-gray-dark-t16'

Equilibrium Gray Dark: Base-16 color style by "Carlo Abelli".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

ESPRESSO_T16 class-attribute instance-attribute

ESPRESSO_T16: Literal['espresso-t16'] = 'espresso-t16'

Espresso: Base-16 color style by "Unknown. Maintained by Alex Mirrington".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

EVENOK_DARK_T16 class-attribute instance-attribute

EVENOK_DARK_T16: Literal['evenok-dark-t16'] = 'evenok-dark-t16'

Evenok Dark: Base-16 color style by "Mekeor Melire".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

EVERFOREST_DARK_HARD_T16 class-attribute instance-attribute

EVERFOREST_DARK_HARD_T16: Literal['everforest-dark-hard-t16'] = 'everforest-dark-hard-t16'

Everforest Dark Hard: Base-16 color style by "Sainnhe Park".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

EVERFOREST_DARK_SOFT_T16 class-attribute instance-attribute

EVERFOREST_DARK_SOFT_T16: Literal['everforest-dark-soft-t16'] = 'everforest-dark-soft-t16'

Everforest Dark Soft: Base-16 color style by "Sainnhe Park".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

EVERFOREST_T16 class-attribute instance-attribute

EVERFOREST_T16: Literal['everforest-t16'] = 'everforest-t16'

Everforest: Base-16 color style by "Sainnhe Park".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

FLAT_T16 class-attribute instance-attribute

FLAT_T16: Literal['flat-t16'] = 'flat-t16'

Flat: Base-16 color style by "Chris Kempson".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

FRAMER_T16 class-attribute instance-attribute

FRAMER_T16: Literal['framer-t16'] = 'framer-t16'

Framer: Base-16 color style by "Framer".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

GIGAVOLT_T16 class-attribute instance-attribute

GIGAVOLT_T16: Literal['gigavolt-t16'] = 'gigavolt-t16'

Gigavolt: Base-16 color style by "Aidan Swope".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

GITHUB_DARK_T16 class-attribute instance-attribute

GITHUB_DARK_T16: Literal['github-dark-t16'] = 'github-dark-t16'

Github Dark: Base-16 color style by "Tinted Theming".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

GOOGLE_DARK_T16 class-attribute instance-attribute

GOOGLE_DARK_T16: Literal['google-dark-t16'] = 'google-dark-t16'

Google Dark: Base-16 color style by "Seth Wright".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

GOTHAM_T16 class-attribute instance-attribute

GOTHAM_T16: Literal['gotham-t16'] = 'gotham-t16'

Gotham: Base-16 color style by "Andrea Leopardi".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

GRAYSCALE_DARK_T16 class-attribute instance-attribute

GRAYSCALE_DARK_T16: Literal['grayscale-dark-t16'] = 'grayscale-dark-t16'

Grayscale Dark: Base-16 color style by "Alexandre Gavioli".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

GREENSCREEN_T16 class-attribute instance-attribute

GREENSCREEN_T16: Literal['greenscreen-t16'] = 'greenscreen-t16'

Green Screen: Base-16 color style by "Chris Kempson".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

GRUBER_T16 class-attribute instance-attribute

GRUBER_T16: Literal['gruber-t16'] = 'gruber-t16'

Gruber: Base-16 color style by "Patel, Nimai, colors from www.github.com/rexim/gruber-darker-theme".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

GRUVBOX_DARK_HARD_T16 class-attribute instance-attribute

GRUVBOX_DARK_HARD_T16: Literal['gruvbox-dark-hard-t16'] = 'gruvbox-dark-hard-t16'

Gruvbox dark, hard: Base-16 color style by "Dawid Kurek".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

GRUVBOX_DARK_MEDIUM_T16 class-attribute instance-attribute

GRUVBOX_DARK_MEDIUM_T16: Literal['gruvbox-dark-medium-t16'] = 'gruvbox-dark-medium-t16'

Gruvbox dark, medium: Base-16 color style by "Dawid Kurek".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

GRUVBOX_DARK_PALE_T16 class-attribute instance-attribute

GRUVBOX_DARK_PALE_T16: Literal['gruvbox-dark-pale-t16'] = 'gruvbox-dark-pale-t16'

Gruvbox dark, pale: Base-16 color style by "Dawid Kurek".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

GRUVBOX_DARK_SOFT_T16 class-attribute instance-attribute

GRUVBOX_DARK_SOFT_T16: Literal['gruvbox-dark-soft-t16'] = 'gruvbox-dark-soft-t16'

Gruvbox dark, soft: Base-16 color style by "Dawid Kurek".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

GRUVBOX_DARK_T16 class-attribute instance-attribute

GRUVBOX_DARK_T16: Literal['gruvbox-dark-t16'] = 'gruvbox-dark-t16'

Gruvbox dark: Base-16 color style by "Tinted Theming".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

GRUVBOX_MATERIAL_DARK_HARD_T16 class-attribute instance-attribute

GRUVBOX_MATERIAL_DARK_HARD_T16: Literal["gruvbox-material-dark-hard-t16"] = (
    "gruvbox-material-dark-hard-t16"
)

Gruvbox Material Dark, Hard: Base-16 color style by "Mayush Kumar".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

GRUVBOX_MATERIAL_DARK_MEDIUM_T16 class-attribute instance-attribute

GRUVBOX_MATERIAL_DARK_MEDIUM_T16: Literal["gruvbox-material-dark-medium-t16"] = (
    "gruvbox-material-dark-medium-t16"
)

Gruvbox Material Dark, Medium: Base-16 color style by "Mayush Kumar".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

GRUVBOX_MATERIAL_DARK_SOFT_T16 class-attribute instance-attribute

GRUVBOX_MATERIAL_DARK_SOFT_T16: Literal["gruvbox-material-dark-soft-t16"] = (
    "gruvbox-material-dark-soft-t16"
)

Gruvbox Material Dark, Soft: Base-16 color style by "Mayush Kumar".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

HARDCORE_T16 class-attribute instance-attribute

HARDCORE_T16: Literal['hardcore-t16'] = 'hardcore-t16'

Hardcore: Base-16 color style by "Chris Caller".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

HARDHACKER_T16 class-attribute instance-attribute

HARDHACKER_T16: Literal['hardhacker-t16'] = 'hardhacker-t16'

Hardhacker: Base-16 color style by "fe2-Nyxar, based on the https://github.com/hardhackerlabs".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

HARMONIC16_DARK_T16 class-attribute instance-attribute

HARMONIC16_DARK_T16: Literal['harmonic16-dark-t16'] = 'harmonic16-dark-t16'

Harmonic16 Dark: Base-16 color style by "Jannik Siebert".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

HEETCH_T16 class-attribute instance-attribute

HEETCH_T16: Literal['heetch-t16'] = 'heetch-t16'

Heetch Dark: Base-16 color style by "Geoffrey Teale".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

HELIOS_T16 class-attribute instance-attribute

HELIOS_T16: Literal['helios-t16'] = 'helios-t16'

Helios: Base-16 color style by "Alex Meyer".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

HOPSCOTCH_T16 class-attribute instance-attribute

HOPSCOTCH_T16: Literal['hopscotch-t16'] = 'hopscotch-t16'

Hopscotch: Base-16 color style by "Jan T. Sott".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

HORIZON_DARK_T16 class-attribute instance-attribute

HORIZON_DARK_T16: Literal['horizon-dark-t16'] = 'horizon-dark-t16'

Horizon Dark: Base-16 color style by "Michaël Ball".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

HORIZON_TERMINAL_DARK_T16 class-attribute instance-attribute

HORIZON_TERMINAL_DARK_T16: Literal['horizon-terminal-dark-t16'] = 'horizon-terminal-dark-t16'

Horizon Terminal Dark: Base-16 color style by "Michaël Ball".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

HUMANOID_DARK_T16 class-attribute instance-attribute

HUMANOID_DARK_T16: Literal['humanoid-dark-t16'] = 'humanoid-dark-t16'

Humanoid dark: Base-16 color style by "Thomas Friese".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

IA_DARK_T16 class-attribute instance-attribute

IA_DARK_T16: Literal['ia-dark-t16'] = 'ia-dark-t16'

iA Dark: Base-16 color style by "iA Inc.".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

IRBLACK_T16 class-attribute instance-attribute

IRBLACK_T16: Literal['irblack-t16'] = 'irblack-t16'

IR Black: Base-16 color style by "Timothée Poisot".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

ISOTOPE_T16 class-attribute instance-attribute

ISOTOPE_T16: Literal['isotope-t16'] = 'isotope-t16'

Isotope: Base-16 color style by "Jan T. Sott".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

JABUTI_T16 class-attribute instance-attribute

JABUTI_T16: Literal['jabuti-t16'] = 'jabuti-t16'

Jabuti: Base-16 color style.

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

KANAGAWA_DRAGON_T16 class-attribute instance-attribute

KANAGAWA_DRAGON_T16: Literal['kanagawa-dragon-t16'] = 'kanagawa-dragon-t16'

Kanagawa Dragon: Base-16 color style by "Tommaso Laurenzi".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

KANAGAWA_T16 class-attribute instance-attribute

KANAGAWA_T16: Literal['kanagawa-t16'] = 'kanagawa-t16'

Kanagawa: Base-16 color style by "Tommaso Laurenzi".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

KATY_T16 class-attribute instance-attribute

KATY_T16: Literal['katy-t16'] = 'katy-t16'

Katy: Base-16 color style by "George Essig".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

KIMBER_T16 class-attribute instance-attribute

KIMBER_T16: Literal['kimber-t16'] = 'kimber-t16'

Kimber: Base-16 color style by "Mishka Nguyen".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

LINUX_VT_T16 class-attribute instance-attribute

LINUX_VT_T16: Literal['linux-vt-t16'] = 'linux-vt-t16'

Linux VT: Base-16 color style by "j-c-m".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

Literals class-attribute instance-attribute

Literals = Literal[
    "0x96f-t16",
    "3024-t16",
    "apathy-t16",
    "ashes-t16",
    "atelier-cave-t16",
    "atelier-dune-t16",
    "atelier-estuary-t16",
    "atelier-forest-t16",
    "atelier-heath-t16",
    "atelier-lakeside-t16",
    "atelier-plateau-t16",
    "atelier-savanna-t16",
    "atelier-seaside-t16",
    "atelier-sulphurpool-t16",
    "atlas-t16",
    "ayu-dark-t16",
    "ayu-mirage-t16",
    "aztec-t16",
    "bespin-t16",
    "black-metal-bathory-t16",
    "black-metal-burzum-t16",
    "black-metal-dark-funeral-t16",
    "black-metal-gorgoroth-t16",
    "black-metal-immortal-t16",
    "black-metal-khold-t16",
    "black-metal-marduk-t16",
    "black-metal-mayhem-t16",
    "black-metal-nile-t16",
    "black-metal-venom-t16",
    "black-metal-t16",
    "blueforest-t16",
    "blueish-t16",
    "brewer-t16",
    "bright-t16",
    "caroline-t16",
    "catppuccin-frappe-t16",
    "catppuccin-macchiato-t16",
    "catppuccin-mocha-t16",
    "charcoal-dark-t16",
    "chalk-t16",
    "chicago-night-t16",
    "chinoiserie-midnight-t16",
    "chinoiserie-morandi-t16",
    "chinoiserie-night-t16",
    "circus-t16",
    "classic-dark-t16",
    "codeschool-t16",
    "colors-t16",
    "da-one-black-t16",
    "da-one-gray-t16",
    "da-one-ocean-t16",
    "da-one-sea-t16",
    "danqing-t16",
    "darcula-t16",
    "darkmoss-t16",
    "darktooth-t16",
    "darkviolet-t16",
    "decaf-t16",
    "deep-oceanic-next-t16",
    "default-dark-t16",
    "digital-rain-t16",
    "dracula-t16",
    "edge-dark-t16",
    "eighties-t16",
    "embers-t16",
    "equilibrium-dark-t16",
    "equilibrium-gray-dark-t16",
    "espresso-t16",
    "evenok-dark-t16",
    "everforest-dark-hard-t16",
    "everforest-dark-soft-t16",
    "everforest-t16",
    "flat-t16",
    "framer-t16",
    "gigavolt-t16",
    "github-dark-t16",
    "google-dark-t16",
    "gotham-t16",
    "grayscale-dark-t16",
    "greenscreen-t16",
    "gruber-t16",
    "gruvbox-dark-hard-t16",
    "gruvbox-dark-medium-t16",
    "gruvbox-dark-pale-t16",
    "gruvbox-dark-soft-t16",
    "gruvbox-dark-t16",
    "gruvbox-material-dark-hard-t16",
    "gruvbox-material-dark-medium-t16",
    "gruvbox-material-dark-soft-t16",
    "hardcore-t16",
    "hardhacker-t16",
    "harmonic16-dark-t16",
    "heetch-t16",
    "helios-t16",
    "hopscotch-t16",
    "horizon-dark-t16",
    "horizon-terminal-dark-t16",
    "humanoid-dark-t16",
    "ia-dark-t16",
    "irblack-t16",
    "isotope-t16",
    "jabuti-t16",
    "kanagawa-dragon-t16",
    "kanagawa-t16",
    "katy-t16",
    "kimber-t16",
    "linux-vt-t16",
    "macintosh-t16",
    "marrakesh-t16",
    "materia-t16",
    "material-darker-t16",
    "material-palenight-t16",
    "material-t16",
    "measured-dark-t16",
    "mellow-purple-t16",
    "mocha-t16",
    "monokai-t16",
    "moonlight-t16",
    "mountain-t16",
    "nebula-t16",
    "nord-t16",
    "nova-t16",
    "ocean-t16",
    "oceanicnext-t16",
    "onedark-dark-t16",
    "onedark-t16",
    "outrun-dark-t16",
    "oxocarbon-dark-t16",
    "pandora-t16",
    "paraiso-t16",
    "pasque-t16",
    "penumbra-dark-contrast-plus-plus-t16",
    "penumbra-dark-contrast-plus-t16",
    "penumbra-dark-t16",
    "phd-t16",
    "pinky-t16",
    "pop-t16",
    "porple-t16",
    "precious-dark-eleven-t16",
    "precious-dark-fifteen-t16",
    "primer-dark-dimmed-t16",
    "primer-dark-t16",
    "purpledream-t16",
    "qualia-t16",
    "railscasts-t16",
    "rebecca-t16",
    "rose-pine-moon-t16",
    "rose-pine-t16",
    "saga-t16",
    "sandcastle-t16",
    "selenized-black-t16",
    "selenized-dark-t16",
    "seti-t16",
    "shades-of-purple-t16",
    "shadesmear-dark-t16",
    "silk-dark-t16",
    "snazzy-t16",
    "solarflare-t16",
    "solarized-dark-t16",
    "spaceduck-t16",
    "spacemacs-t16",
    "sparky-t16",
    "standardized-dark-t16",
    "stella-t16",
    "summerfruit-dark-t16",
    "synth-midnight-dark-t16",
    "tango-t16",
    "tender-t16",
    "terracotta-dark-t16",
    "tokyo-city-dark-t16",
    "tokyo-city-terminal-dark-t16",
    "tokyo-night-dark-t16",
    "tokyo-night-storm-t16",
    "tokyodark-terminal-t16",
    "tokyodark-t16",
    "tomorrow-night-eighties-t16",
    "tomorrow-night-t16",
    "tube-t16",
    "twilight-t16",
    "unikitty-dark-t16",
    "unikitty-reversible-t16",
    "uwunicorn-t16",
    "valua-t16",
    "vesper-t16",
    "vice-t16",
    "windows-10-t16",
    "windows-95-t16",
    "windows-highcontrast-t16",
    "windows-nt-t16",
    "woodland-t16",
    "xcode-dusk-t16",
    "zenbones-t16",
    "zenburn-t16",
    "random-dark-high-t16",
]

MACINTOSH_T16 class-attribute instance-attribute

MACINTOSH_T16: Literal['macintosh-t16'] = 'macintosh-t16'

Macintosh: Base-16 color style by "Rebecca Bettencourt".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

MARRAKESH_T16 class-attribute instance-attribute

MARRAKESH_T16: Literal['marrakesh-t16'] = 'marrakesh-t16'

Marrakesh: Base-16 color style by "Alexandre Gavioli".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

MATERIAL_DARKER_T16 class-attribute instance-attribute

MATERIAL_DARKER_T16: Literal['material-darker-t16'] = 'material-darker-t16'

Material Darker: Base-16 color style by "Nate Peterson".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

MATERIAL_PALENIGHT_T16 class-attribute instance-attribute

MATERIAL_PALENIGHT_T16: Literal['material-palenight-t16'] = 'material-palenight-t16'

Material Palenight: Base-16 color style by "Nate Peterson".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

MATERIAL_T16 class-attribute instance-attribute

MATERIAL_T16: Literal['material-t16'] = 'material-t16'

Material: Base-16 color style by "Nate Peterson".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

MATERIA_T16 class-attribute instance-attribute

MATERIA_T16: Literal['materia-t16'] = 'materia-t16'

Materia: Base-16 color style by "Defman21".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

MEASURED_DARK_T16 class-attribute instance-attribute

MEASURED_DARK_T16: Literal['measured-dark-t16'] = 'measured-dark-t16'

Measured Dark: Base-16 color style by "Measured".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

MELLOW_PURPLE_T16 class-attribute instance-attribute

MELLOW_PURPLE_T16: Literal['mellow-purple-t16'] = 'mellow-purple-t16'

Mellow Purple: Base-16 color style by "gidsi".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

MOCHA_T16 class-attribute instance-attribute

MOCHA_T16: Literal['mocha-t16'] = 'mocha-t16'

Mocha: Base-16 color style by "Chris Kempson".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

MONOKAI_T16 class-attribute instance-attribute

MONOKAI_T16: Literal['monokai-t16'] = 'monokai-t16'

Monokai: Base-16 color style by "Wimer Hazenberg".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

MOONLIGHT_T16 class-attribute instance-attribute

MOONLIGHT_T16: Literal['moonlight-t16'] = 'moonlight-t16'

Moonlight: Base-16 color style by "Jeremy Swinarton".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

MOUNTAIN_T16 class-attribute instance-attribute

MOUNTAIN_T16: Literal['mountain-t16'] = 'mountain-t16'

Mountain: Base-16 color style by "gnsfujiwara".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

NEBULA_T16 class-attribute instance-attribute

NEBULA_T16: Literal['nebula-t16'] = 'nebula-t16'

Nebula: Base-16 color style by "Gabriel Fontes".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

NORD_T16 class-attribute instance-attribute

NORD_T16: Literal['nord-t16'] = 'nord-t16'

Nord: Base-16 color style by "arcticicestudio".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

NOVA_T16 class-attribute instance-attribute

NOVA_T16: Literal['nova-t16'] = 'nova-t16'

Nova: Base-16 color style by "George Essig".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

NUMBER_0X96F_T16 class-attribute instance-attribute

NUMBER_0X96F_T16: Literal['0x96f-t16'] = '0x96f-t16'

0x96f: Base-16 color style by "Filip Janevski".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

NUMBER_3024_T16 class-attribute instance-attribute

NUMBER_3024_T16: Literal['3024-t16'] = '3024-t16'

3024: Base-16 color style by "Jan T. Sott".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

OCEANICNEXT_T16 class-attribute instance-attribute

OCEANICNEXT_T16: Literal['oceanicnext-t16'] = 'oceanicnext-t16'

OceanicNext: Base-16 color style.

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

OCEAN_T16 class-attribute instance-attribute

OCEAN_T16: Literal['ocean-t16'] = 'ocean-t16'

Ocean: Base-16 color style by "Chris Kempson".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

ONEDARK_DARK_T16 class-attribute instance-attribute

ONEDARK_DARK_T16: Literal['onedark-dark-t16'] = 'onedark-dark-t16'

OneDark Dark: Base-16 color style by "olimorris".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

ONEDARK_T16 class-attribute instance-attribute

ONEDARK_T16: Literal['onedark-t16'] = 'onedark-t16'

OneDark: Base-16 color style by "Lalit Magant".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

OUTRUN_DARK_T16 class-attribute instance-attribute

OUTRUN_DARK_T16: Literal['outrun-dark-t16'] = 'outrun-dark-t16'

Outrun Dark: Base-16 color style by "Hugo Delahousse".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

OXOCARBON_DARK_T16 class-attribute instance-attribute

OXOCARBON_DARK_T16: Literal['oxocarbon-dark-t16'] = 'oxocarbon-dark-t16'

Oxocarbon Dark: Base-16 color style by "shaunsingh/IBM".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

PANDORA_T16 class-attribute instance-attribute

PANDORA_T16: Literal['pandora-t16'] = 'pandora-t16'

pandora: Base-16 color style by "Cassandra Fox".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

PARAISO_T16 class-attribute instance-attribute

PARAISO_T16: Literal['paraiso-t16'] = 'paraiso-t16'

Paraiso: Base-16 color style by "Jan T. Sott".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

PASQUE_T16 class-attribute instance-attribute

PASQUE_T16: Literal['pasque-t16'] = 'pasque-t16'

Pasque: Base-16 color style by "Gabriel Fontes".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

PENUMBRA_DARK_CONTRAST_PLUS_PLUS_T16 class-attribute instance-attribute

PENUMBRA_DARK_CONTRAST_PLUS_PLUS_T16: Literal["penumbra-dark-contrast-plus-plus-t16"] = (
    "penumbra-dark-contrast-plus-plus-t16"
)

Penumbra Dark Contrast Plus Plus: Base-16 color style by "Zachary Weiss".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

PENUMBRA_DARK_CONTRAST_PLUS_T16 class-attribute instance-attribute

PENUMBRA_DARK_CONTRAST_PLUS_T16: Literal["penumbra-dark-contrast-plus-t16"] = (
    "penumbra-dark-contrast-plus-t16"
)

Penumbra Dark Contrast Plus: Base-16 color style by "Zachary Weiss".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

PENUMBRA_DARK_T16 class-attribute instance-attribute

PENUMBRA_DARK_T16: Literal['penumbra-dark-t16'] = 'penumbra-dark-t16'

Penumbra Dark: Base-16 color style by "Zachary Weiss".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

PHD_T16 class-attribute instance-attribute

PHD_T16: Literal['phd-t16'] = 'phd-t16'

PhD: Base-16 color style by "Hennig Hasemann".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

PINKY_T16 class-attribute instance-attribute

PINKY_T16: Literal['pinky-t16'] = 'pinky-t16'

pinky: Base-16 color style by "Benjamin".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

POP_T16 class-attribute instance-attribute

POP_T16: Literal['pop-t16'] = 'pop-t16'

Pop: Base-16 color style by "Chris Kempson".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

PORPLE_T16 class-attribute instance-attribute

PORPLE_T16: Literal['porple-t16'] = 'porple-t16'

Porple: Base-16 color style by "Niek den Breeje".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

PRECIOUS_DARK_ELEVEN_T16 class-attribute instance-attribute

PRECIOUS_DARK_ELEVEN_T16: Literal['precious-dark-eleven-t16'] = 'precious-dark-eleven-t16'

Precious Dark Eleven: Base-16 color style by "4lex4".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

PRECIOUS_DARK_FIFTEEN_T16 class-attribute instance-attribute

PRECIOUS_DARK_FIFTEEN_T16: Literal['precious-dark-fifteen-t16'] = 'precious-dark-fifteen-t16'

Precious Dark Fifteen: Base-16 color style by "4lex4".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

PRIMER_DARK_DIMMED_T16 class-attribute instance-attribute

PRIMER_DARK_DIMMED_T16: Literal['primer-dark-dimmed-t16'] = 'primer-dark-dimmed-t16'

Primer Dark Dimmed: Base-16 color style by "Jimmy Lin".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

PRIMER_DARK_T16 class-attribute instance-attribute

PRIMER_DARK_T16: Literal['primer-dark-t16'] = 'primer-dark-t16'

Primer Dark: Base-16 color style by "Jimmy Lin".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

PURPLEDREAM_T16 class-attribute instance-attribute

PURPLEDREAM_T16: Literal['purpledream-t16'] = 'purpledream-t16'

Purpledream: Base-16 color style by "malet".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

QUALIA_T16 class-attribute instance-attribute

QUALIA_T16: Literal['qualia-t16'] = 'qualia-t16'

Qualia: Base-16 color style by "isaacwhanson".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

RAILSCASTS_T16 class-attribute instance-attribute

RAILSCASTS_T16: Literal['railscasts-t16'] = 'railscasts-t16'

Railscasts: Base-16 color style by "Ryan Bates".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

RANDOM_DARK_HIGH_CONTRAST_T16 class-attribute instance-attribute

RANDOM_DARK_HIGH_CONTRAST_T16: Literal['random-dark-high-t16'] = 'random-dark-high-t16'

REBECCA_T16 class-attribute instance-attribute

REBECCA_T16: Literal['rebecca-t16'] = 'rebecca-t16'

Rebecca: Base-16 color style by "Victor Borja".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

ROSE_PINE_MOON_T16 class-attribute instance-attribute

ROSE_PINE_MOON_T16: Literal['rose-pine-moon-t16'] = 'rose-pine-moon-t16'

Rosé Pine Moon: Base-16 color style by "Emilia Dunfelt".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

ROSE_PINE_T16 class-attribute instance-attribute

ROSE_PINE_T16: Literal['rose-pine-t16'] = 'rose-pine-t16'

Rosé Pine: Base-16 color style by "Emilia Dunfelt".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

SAGA_T16 class-attribute instance-attribute

SAGA_T16: Literal['saga-t16'] = 'saga-t16'

Saga

Base-16 color style.

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

SANDCASTLE_T16 class-attribute instance-attribute

SANDCASTLE_T16: Literal['sandcastle-t16'] = 'sandcastle-t16'

Sandcastle: Base-16 color style by "George Essig".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

SELENIZED_BLACK_T16 class-attribute instance-attribute

SELENIZED_BLACK_T16: Literal['selenized-black-t16'] = 'selenized-black-t16'

selenized-black: Base-16 color style by "Jan Warchol / adapted to base16 by ali".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

SELENIZED_DARK_T16 class-attribute instance-attribute

SELENIZED_DARK_T16: Literal['selenized-dark-t16'] = 'selenized-dark-t16'

selenized-dark: Base-16 color style by "Jan Warchol / adapted to base16 by ali".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

SETI_T16 class-attribute instance-attribute

SETI_T16: Literal['seti-t16'] = 'seti-t16'

Seti UI: Base-16 color style by "".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

SHADESMEAR_DARK_T16 class-attribute instance-attribute

SHADESMEAR_DARK_T16: Literal['shadesmear-dark-t16'] = 'shadesmear-dark-t16'

ShadeSmear Dark: Base-16 color style by "Kyle Giammarco".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

SHADES_OF_PURPLE_T16 class-attribute instance-attribute

SHADES_OF_PURPLE_T16: Literal['shades-of-purple-t16'] = 'shades-of-purple-t16'

Shades of Purple: Base-16 color style by "Iolar Demartini Junior".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

SILK_DARK_T16 class-attribute instance-attribute

SILK_DARK_T16: Literal['silk-dark-t16'] = 'silk-dark-t16'

Silk Dark: Base-16 color style by "Gabriel Fontes".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

SNAZZY_T16 class-attribute instance-attribute

SNAZZY_T16: Literal['snazzy-t16'] = 'snazzy-t16'

Snazzy: Base-16 color style by "Chawye Hsu".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

SOLARFLARE_T16 class-attribute instance-attribute

SOLARFLARE_T16: Literal['solarflare-t16'] = 'solarflare-t16'

Solar Flare: Base-16 color style by "Chuck Harmston".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

SOLARIZED_DARK_T16 class-attribute instance-attribute

SOLARIZED_DARK_T16: Literal['solarized-dark-t16'] = 'solarized-dark-t16'

Solarized Dark: Base-16 color style by "Ethan Schoonover".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

SPACEDUCK_T16 class-attribute instance-attribute

SPACEDUCK_T16: Literal['spaceduck-t16'] = 'spaceduck-t16'

Spaceduck: Base-16 color style by "Guillermo Rodriguez".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

SPACEMACS_T16 class-attribute instance-attribute

SPACEMACS_T16: Literal['spacemacs-t16'] = 'spacemacs-t16'

Spacemacs: Base-16 color style by "Nasser Alshammari".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

SPARKY_T16 class-attribute instance-attribute

SPARKY_T16: Literal['sparky-t16'] = 'sparky-t16'

Sparky: Base-16 color style by "Leila Sother".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

STANDARDIZED_DARK_T16 class-attribute instance-attribute

STANDARDIZED_DARK_T16: Literal['standardized-dark-t16'] = 'standardized-dark-t16'

standardized-dark: Base-16 color style by "ali".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

STELLA_T16 class-attribute instance-attribute

STELLA_T16: Literal['stella-t16'] = 'stella-t16'

Stella: Base-16 color style by "Shrimpram".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

SUMMERFRUIT_DARK_T16 class-attribute instance-attribute

SUMMERFRUIT_DARK_T16: Literal['summerfruit-dark-t16'] = 'summerfruit-dark-t16'

Summerfruit Dark: Base-16 color style by "Christopher Corley".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

SYNTH_MIDNIGHT_DARK_T16 class-attribute instance-attribute

SYNTH_MIDNIGHT_DARK_T16: Literal['synth-midnight-dark-t16'] = 'synth-midnight-dark-t16'

Synth Midnight Terminal Dark: Base-16 color style by "Michaël Ball".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

TANGO_T16 class-attribute instance-attribute

TANGO_T16: Literal['tango-t16'] = 'tango-t16'

Tango: Base-16 color style by "@Schnouki, based on the Tango Desktop Project".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

TENDER_T16 class-attribute instance-attribute

TENDER_T16: Literal['tender-t16'] = 'tender-t16'

tender: Base-16 color style by "Jacobo Tabernero".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

TERRACOTTA_DARK_T16 class-attribute instance-attribute

TERRACOTTA_DARK_T16: Literal['terracotta-dark-t16'] = 'terracotta-dark-t16'

Terracotta Dark: Base-16 color style by "Alexander Rossell Hayes".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

TOKYODARK_T16 class-attribute instance-attribute

TOKYODARK_T16: Literal['tokyodark-t16'] = 'tokyodark-t16'

Tokyodark: Base-16 color style by "Jamy Golden".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

TOKYODARK_TERMINAL_T16 class-attribute instance-attribute

TOKYODARK_TERMINAL_T16: Literal['tokyodark-terminal-t16'] = 'tokyodark-terminal-t16'

Tokyodark Terminal: Base-16 color style by "Tiagovla".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

TOKYO_CITY_DARK_T16 class-attribute instance-attribute

TOKYO_CITY_DARK_T16: Literal['tokyo-city-dark-t16'] = 'tokyo-city-dark-t16'

Tokyo City Dark: Base-16 color style by "Michaël Ball".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

TOKYO_CITY_TERMINAL_DARK_T16 class-attribute instance-attribute

TOKYO_CITY_TERMINAL_DARK_T16: Literal["tokyo-city-terminal-dark-t16"] = (
    "tokyo-city-terminal-dark-t16"
)

Tokyo City Terminal Dark: Base-16 color style by "Michaël Ball".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

TOKYO_NIGHT_DARK_T16 class-attribute instance-attribute

TOKYO_NIGHT_DARK_T16: Literal['tokyo-night-dark-t16'] = 'tokyo-night-dark-t16'

Tokyo Night Dark: Base-16 color style by "Michaël Ball".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

TOKYO_NIGHT_STORM_T16 class-attribute instance-attribute

TOKYO_NIGHT_STORM_T16: Literal['tokyo-night-storm-t16'] = 'tokyo-night-storm-t16'

Tokyo Night Storm: Base-16 color style by "Michaël Ball".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

TOMORROW_NIGHT_EIGHTIES_T16 class-attribute instance-attribute

TOMORROW_NIGHT_EIGHTIES_T16: Literal['tomorrow-night-eighties-t16'] = 'tomorrow-night-eighties-t16'

Tomorrow Night Eighties: Base-16 color style by "Chris Kempson".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

TOMORROW_NIGHT_T16 class-attribute instance-attribute

TOMORROW_NIGHT_T16: Literal['tomorrow-night-t16'] = 'tomorrow-night-t16'

Tomorrow Night: Base-16 color style by "Chris Kempson".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

TUBE_T16 class-attribute instance-attribute

TUBE_T16: Literal['tube-t16'] = 'tube-t16'

London Tube: Base-16 color style by "Jan T. Sott".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

TWILIGHT_T16 class-attribute instance-attribute

TWILIGHT_T16: Literal['twilight-t16'] = 'twilight-t16'

Twilight: Base-16 color style by "David Hart".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

UNIKITTY_DARK_T16 class-attribute instance-attribute

UNIKITTY_DARK_T16: Literal['unikitty-dark-t16'] = 'unikitty-dark-t16'

Unikitty Dark: Base-16 color style by "Josh W Lewis".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

UNIKITTY_REVERSIBLE_T16 class-attribute instance-attribute

UNIKITTY_REVERSIBLE_T16: Literal['unikitty-reversible-t16'] = 'unikitty-reversible-t16'

Unikitty Reversible: Base-16 color style by "Josh W Lewis".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

UWUNICORN_T16 class-attribute instance-attribute

UWUNICORN_T16: Literal['uwunicorn-t16'] = 'uwunicorn-t16'

UwUnicorn: Base-16 color style by "Fernando Marques".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

VALUA_T16 class-attribute instance-attribute

VALUA_T16: Literal['valua-t16'] = 'valua-t16'

Valua: Base-16 color style by "Nonetrix".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

VESPER_T16 class-attribute instance-attribute

VESPER_T16: Literal['vesper-t16'] = 'vesper-t16'

Vesper: Base-16 color style by "FormalSnake".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

VICE_T16 class-attribute instance-attribute

VICE_T16: Literal['vice-t16'] = 'vice-t16'

vice: Base-16 color style by "Thomas Leon Highbaugh".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

WINDOWS_10_T16 class-attribute instance-attribute

WINDOWS_10_T16: Literal['windows-10-t16'] = 'windows-10-t16'

Windows 10: Base-16 color style by "Fergus Collins".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

WINDOWS_95_T16 class-attribute instance-attribute

WINDOWS_95_T16: Literal['windows-95-t16'] = 'windows-95-t16'

Windows 95: Base-16 color style by "Fergus Collins".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

WINDOWS_HIGHCONTRAST_T16 class-attribute instance-attribute

WINDOWS_HIGHCONTRAST_T16: Literal['windows-highcontrast-t16'] = 'windows-highcontrast-t16'

Windows High Contrast: Base-16 color style by "Fergus Collins".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

WINDOWS_NT_T16 class-attribute instance-attribute

WINDOWS_NT_T16: Literal['windows-nt-t16'] = 'windows-nt-t16'

Windows NT: Base-16 color style by "Fergus Collins".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

WOODLAND_T16 class-attribute instance-attribute

WOODLAND_T16: Literal['woodland-t16'] = 'woodland-t16'

Woodland: Base-16 color style by "Jay Cornwall".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

XCODE_DUSK_T16 class-attribute instance-attribute

XCODE_DUSK_T16: Literal['xcode-dusk-t16'] = 'xcode-dusk-t16'

XCode Dusk: Base-16 color style by "Elsa Gonsiorowski".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

ZENBONES_T16 class-attribute instance-attribute

ZENBONES_T16: Literal['zenbones-t16'] = 'zenbones-t16'

Zenbones: Base-16 color style by "mcchrish".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

ZENBURN_T16 class-attribute instance-attribute

ZENBURN_T16: Literal['zenburn-t16'] = 'zenburn-t16'

Zenburn: Base-16 color style by "elnawe".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

DarkLowContrastColorStyles

Bases: DarkLowContrastTintedThemingBase16ColorStyles, DarkLowContrastPygmentsColorStyles

All dark, lower contrast color styles for syntax highlighting. See superclasses for more details on the color styles.

ATTRIBUTE DESCRIPTION
Literals

RANDOM_DARK_LOW_CONTRAST

TYPE: Literal['random-dark-low']

Source code in src/omnipy/shared/enums/colorstyles.py
class DarkLowContrastColorStyles(
        DarkLowContrastTintedThemingBase16ColorStyles,
        DarkLowContrastPygmentsColorStyles,
):
    """
    All dark, lower contrast color styles for syntax highlighting. See
    superclasses for more details on the color styles.
    """

    Literals = Literal[DarkLowContrastTintedThemingBase16ColorStyles.Literals,
                       DarkLowContrastPygmentsColorStyles.Literals,
                       'random-dark-low']

    RANDOM_DARK_LOW_CONTRAST: Literal['random-dark-low'] = 'random-dark-low'

Literals class-attribute instance-attribute

RANDOM_DARK_LOW_CONTRAST class-attribute instance-attribute

RANDOM_DARK_LOW_CONTRAST: Literal['random-dark-low'] = 'random-dark-low'

DarkLowContrastPygmentsColorStyles

Bases: LiteralEnum[str]

ATTRIBUTE DESCRIPTION
COFFEE_PYGMENTS

TYPE: Literal['coffee-pygments']

DRACULA_PYGMENTS

TYPE: Literal['dracula-pygments']

FRUITY_PYGMENTS

TYPE: Literal['fruity-pygments']

GRUVBOX_DARK_PYGMENTS

TYPE: Literal['gruvbox-dark-pygments']

INKPOT_PYGMENTS

TYPE: Literal['inkpot-pygments']

Literals

MATERIAL_PYGMENTS

TYPE: Literal['material-pygments']

NATIVE_PYGMENTS

TYPE: Literal['native-pygments']

NORD_DARKER_PYGMENTS

TYPE: Literal['nord-darker-pygments']

NORD_PYGMENTS

TYPE: Literal['nord-pygments']

ONE_DARK_PYGMENTS

TYPE: Literal['one-dark-pygments']

PARAISO_DARK_PYGMENTS

TYPE: Literal['paraiso-dark-pygments']

SOLARIZED_DARK_PYGMENTS

TYPE: Literal['solarized-dark-pygments']

STATA_DARK_PYGMENTS

TYPE: Literal['stata-dark-pygments']

VIM_PYGMENTS

TYPE: Literal['vim-pygments']

ZENBURN_PYGMENTS

TYPE: Literal['zenburn-pygments']

Source code in src/omnipy/shared/enums/colorstyles.py
class DarkLowContrastPygmentsColorStyles(LiteralEnum[str]):
    __doc__ = dedent("""
        Lower contrast dark color styles for syntax highlighting.
        """) + _GENERAL_PYGMENTS_COLOR_STYLE_DOCSTRING

    Literals = Literal[
        'coffee-pygments',
        'dracula-pygments',
        'fruity-pygments',
        'gruvbox-dark-pygments',
        'inkpot-pygments',
        'material-pygments',
        'native-pygments',
        'nord-darker-pygments',
        'nord-pygments',
        'one-dark-pygments',
        'paraiso-dark-pygments',
        'solarized-dark-pygments',
        'stata-dark-pygments',
        'vim-pygments',
        'zenburn-pygments',
    ]

    COFFEE_PYGMENTS: Literal['coffee-pygments'] = 'coffee-pygments'
    DRACULA_PYGMENTS: Literal['dracula-pygments'] = 'dracula-pygments'
    FRUITY_PYGMENTS: Literal['fruity-pygments'] = 'fruity-pygments'
    GRUVBOX_DARK_PYGMENTS: Literal['gruvbox-dark-pygments'] = 'gruvbox-dark-pygments'
    INKPOT_PYGMENTS: Literal['inkpot-pygments'] = 'inkpot-pygments'
    MATERIAL_PYGMENTS: Literal['material-pygments'] = 'material-pygments'
    NATIVE_PYGMENTS: Literal['native-pygments'] = 'native-pygments'
    NORD_DARKER_PYGMENTS: Literal['nord-darker-pygments'] = 'nord-darker-pygments'
    NORD_PYGMENTS: Literal['nord-pygments'] = 'nord-pygments'
    ONE_DARK_PYGMENTS: Literal['one-dark-pygments'] = 'one-dark-pygments'
    PARAISO_DARK_PYGMENTS: Literal['paraiso-dark-pygments'] = 'paraiso-dark-pygments'
    SOLARIZED_DARK_PYGMENTS: Literal['solarized-dark-pygments'] = 'solarized-dark-pygments'
    STATA_DARK_PYGMENTS: Literal['stata-dark-pygments'] = 'stata-dark-pygments'
    VIM_PYGMENTS: Literal['vim-pygments'] = 'vim-pygments'
    ZENBURN_PYGMENTS: Literal['zenburn-pygments'] = 'zenburn-pygments'

COFFEE_PYGMENTS class-attribute instance-attribute

COFFEE_PYGMENTS: Literal['coffee-pygments'] = 'coffee-pygments'

DRACULA_PYGMENTS class-attribute instance-attribute

DRACULA_PYGMENTS: Literal['dracula-pygments'] = 'dracula-pygments'

FRUITY_PYGMENTS class-attribute instance-attribute

FRUITY_PYGMENTS: Literal['fruity-pygments'] = 'fruity-pygments'

GRUVBOX_DARK_PYGMENTS class-attribute instance-attribute

GRUVBOX_DARK_PYGMENTS: Literal['gruvbox-dark-pygments'] = 'gruvbox-dark-pygments'

INKPOT_PYGMENTS class-attribute instance-attribute

INKPOT_PYGMENTS: Literal['inkpot-pygments'] = 'inkpot-pygments'

Literals class-attribute instance-attribute

Literals = Literal[
    "coffee-pygments",
    "dracula-pygments",
    "fruity-pygments",
    "gruvbox-dark-pygments",
    "inkpot-pygments",
    "material-pygments",
    "native-pygments",
    "nord-darker-pygments",
    "nord-pygments",
    "one-dark-pygments",
    "paraiso-dark-pygments",
    "solarized-dark-pygments",
    "stata-dark-pygments",
    "vim-pygments",
    "zenburn-pygments",
]

MATERIAL_PYGMENTS class-attribute instance-attribute

MATERIAL_PYGMENTS: Literal['material-pygments'] = 'material-pygments'

NATIVE_PYGMENTS class-attribute instance-attribute

NATIVE_PYGMENTS: Literal['native-pygments'] = 'native-pygments'

NORD_DARKER_PYGMENTS class-attribute instance-attribute

NORD_DARKER_PYGMENTS: Literal['nord-darker-pygments'] = 'nord-darker-pygments'

NORD_PYGMENTS class-attribute instance-attribute

NORD_PYGMENTS: Literal['nord-pygments'] = 'nord-pygments'

ONE_DARK_PYGMENTS class-attribute instance-attribute

ONE_DARK_PYGMENTS: Literal['one-dark-pygments'] = 'one-dark-pygments'

PARAISO_DARK_PYGMENTS class-attribute instance-attribute

PARAISO_DARK_PYGMENTS: Literal['paraiso-dark-pygments'] = 'paraiso-dark-pygments'

SOLARIZED_DARK_PYGMENTS class-attribute instance-attribute

SOLARIZED_DARK_PYGMENTS: Literal['solarized-dark-pygments'] = 'solarized-dark-pygments'

STATA_DARK_PYGMENTS class-attribute instance-attribute

STATA_DARK_PYGMENTS: Literal['stata-dark-pygments'] = 'stata-dark-pygments'

VIM_PYGMENTS class-attribute instance-attribute

VIM_PYGMENTS: Literal['vim-pygments'] = 'vim-pygments'

ZENBURN_PYGMENTS class-attribute instance-attribute

ZENBURN_PYGMENTS: Literal['zenburn-pygments'] = 'zenburn-pygments'

DarkLowContrastTintedThemingBase16ColorStyles

Bases: LiteralEnum[str]

ATTRIBUTE DESCRIPTION
APPRENTICE_T16

Apprentice: Base-16 color style by "romainl".

TYPE: Literal['apprentice-t16']

BROGRAMMER_T16

Brogrammer: Base-16 color style by "Vik Ramanujam".

TYPE: Literal['brogrammer-t16']

BRUSHTREES_DARK_T16

Brush Trees Dark: Base-16 color style by "Abraham White".

TYPE: Literal['brushtrees-dark-t16']

ERIS_T16

eris: Base-16 color style by "ed".

TYPE: Literal['eris-t16']

EVA_DIM_T16

Eva Dim: Base-16 color style by "kjakapat".

TYPE: Literal['eva-dim-t16']

EVA_T16

Eva: Base-16 color style by "kjakapat".

TYPE: Literal['eva-t16']

EVERFOREST_DARK_MEDIUM_T16

Everforest Dark Medium: Base-16 color style by "Sainnhe Park".

TYPE: Literal['everforest-dark-medium-t16']

ICY_T16

Icy Dark: Base-16 color style by "icyphox".

TYPE: Literal['icy-t16']

LIME_T16

lime: Base-16 color style by "limelier".

TYPE: Literal['lime-t16']

Literals

MATERIAL_VIVID_T16

Material Vivid: Base-16 color style by "joshyrobot".

TYPE: Literal['material-vivid-t16']

PAPERCOLOR_DARK_T16

PaperColor Dark: Base-16 color style by "Jon Leopard".

TYPE: Literal['papercolor-dark-t16']

PICO_T16

Pico: Base-16 color style by "PICO-8".

TYPE: Literal['pico-t16']

RANDOM_DARK_LOW_CONTRAST_T16

TYPE: Literal['random-dark-low-t16']

SUMMERCAMP_T16

summercamp: Base-16 color style by "zoe firi".

TYPE: Literal['summercamp-t16']

TAROT_T16

tarot: Base-16 color style by "ed".

TYPE: Literal['tarot-t16']

TOKYO_NIGHT_MOON_T16

Tokyo Night Moon: Base-16 color style by "Ólafur Bjarki Bogason".

TYPE: Literal['tokyo-night-moon-t16']

TOKYO_NIGHT_TERMINAL_DARK_T16

Tokyo Night Terminal Dark: Base-16 color style by "Michaël Ball".

TYPE: Literal['tokyo-night-terminal-dark-t16']

TOKYO_NIGHT_TERMINAL_STORM_T16

Tokyo Night Terminal Storm: Base-16 color style by "Michaël Ball".

TYPE: Literal['tokyo-night-terminal-storm-t16']

VULCAN_T16

vulcan: Base-16 color style by "Andrey Varfolomeev".

TYPE: Literal['vulcan-t16']

Source code in src/omnipy/shared/enums/colorstyles.py
class DarkLowContrastTintedThemingBase16ColorStyles(LiteralEnum[str]):
    f"""
    {_GENERAL_T16_COLOR_STYLE_DOCSTRING.format(description='Dark, lower contrast')}

    These styles have lower-level contrast that did not meet {_COLOR_CONTRAST_TEXT}
    """
    Literals = Literal['apprentice-t16',
                       'brogrammer-t16',
                       'brushtrees-dark-t16',
                       'eris-t16',
                       'eva-dim-t16',
                       'eva-t16',
                       'everforest-dark-medium-t16',
                       'icy-t16',
                       'lime-t16',
                       'material-vivid-t16',
                       'papercolor-dark-t16',
                       'pico-t16',
                       'summercamp-t16',
                       'tarot-t16',
                       'tokyo-night-moon-t16',
                       'tokyo-night-terminal-dark-t16',
                       'tokyo-night-terminal-storm-t16',
                       'vulcan-t16',
                       'random-dark-low-t16']

    APPRENTICE_T16: Literal['apprentice-t16'] = 'apprentice-t16'
    """
    Apprentice: Base-16 color style by "romainl".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with lower-level contrast that did not
    meet the AA criteria of the Web Content Accessibility Guidelines (WCAG)
    2.1 (https://www.w3.org/TR/WCAG21/).
    """

    BROGRAMMER_T16: Literal['brogrammer-t16'] = 'brogrammer-t16'
    """
    Brogrammer: Base-16 color style by "Vik Ramanujam".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with lower-level contrast that did not
    meet the AA criteria of the Web Content Accessibility Guidelines (WCAG)
    2.1 (https://www.w3.org/TR/WCAG21/).
    """

    BRUSHTREES_DARK_T16: Literal['brushtrees-dark-t16'] = 'brushtrees-dark-t16'
    """
    Brush Trees Dark: Base-16 color style by "Abraham White".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with lower-level contrast that did not
    meet the AA criteria of the Web Content Accessibility Guidelines (WCAG)
    2.1 (https://www.w3.org/TR/WCAG21/).
    """

    ERIS_T16: Literal['eris-t16'] = 'eris-t16'
    """
    eris: Base-16 color style by "ed".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with lower-level contrast that did not
    meet the AA criteria of the Web Content Accessibility Guidelines (WCAG)
    2.1 (https://www.w3.org/TR/WCAG21/).
    """

    EVA_DIM_T16: Literal['eva-dim-t16'] = 'eva-dim-t16'
    """
    Eva Dim: Base-16 color style by "kjakapat".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with lower-level contrast that did not
    meet the AA criteria of the Web Content Accessibility Guidelines (WCAG)
    2.1 (https://www.w3.org/TR/WCAG21/).
    """

    EVA_T16: Literal['eva-t16'] = 'eva-t16'
    """
    Eva: Base-16 color style by "kjakapat".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with lower-level contrast that did not
    meet the AA criteria of the Web Content Accessibility Guidelines (WCAG)
    2.1 (https://www.w3.org/TR/WCAG21/).
    """

    EVERFOREST_DARK_MEDIUM_T16: Literal['everforest-dark-medium-t16'] = 'everforest-dark-medium-t16'
    """
    Everforest Dark Medium: Base-16 color style by "Sainnhe Park".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with lower-level contrast that did not
    meet the AA criteria of the Web Content Accessibility Guidelines (WCAG)
    2.1 (https://www.w3.org/TR/WCAG21/).
    """

    ICY_T16: Literal['icy-t16'] = 'icy-t16'
    """
    Icy Dark: Base-16 color style by "icyphox".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with lower-level contrast that did not
    meet the AA criteria of the Web Content Accessibility Guidelines (WCAG)
    2.1 (https://www.w3.org/TR/WCAG21/).
    """

    LIME_T16: Literal['lime-t16'] = 'lime-t16'
    """
    lime: Base-16 color style by "limelier".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with lower-level contrast that did not
    meet the AA criteria of the Web Content Accessibility Guidelines (WCAG)
    2.1 (https://www.w3.org/TR/WCAG21/).
    """

    MATERIAL_VIVID_T16: Literal['material-vivid-t16'] = 'material-vivid-t16'
    """
    Material Vivid: Base-16 color style by "joshyrobot".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with lower-level contrast that did not
    meet the AA criteria of the Web Content Accessibility Guidelines (WCAG)
    2.1 (https://www.w3.org/TR/WCAG21/).
    """

    PAPERCOLOR_DARK_T16: Literal['papercolor-dark-t16'] = 'papercolor-dark-t16'
    """
    PaperColor Dark: Base-16 color style by "Jon Leopard".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with lower-level contrast that did not
    meet the AA criteria of the Web Content Accessibility Guidelines (WCAG)
    2.1 (https://www.w3.org/TR/WCAG21/).
    """

    PICO_T16: Literal['pico-t16'] = 'pico-t16'
    """
    Pico: Base-16 color style by "PICO-8".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with lower-level contrast that did not
    meet the AA criteria of the Web Content Accessibility Guidelines (WCAG)
    2.1 (https://www.w3.org/TR/WCAG21/).
    """

    SUMMERCAMP_T16: Literal['summercamp-t16'] = 'summercamp-t16'
    """
    summercamp: Base-16 color style by "zoe firi".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with lower-level contrast that did not
    meet the AA criteria of the Web Content Accessibility Guidelines (WCAG)
    2.1 (https://www.w3.org/TR/WCAG21/).
    """

    TAROT_T16: Literal['tarot-t16'] = 'tarot-t16'
    """
    tarot: Base-16 color style by "ed".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with lower-level contrast that did not
    meet the AA criteria of the Web Content Accessibility Guidelines (WCAG)
    2.1 (https://www.w3.org/TR/WCAG21/).
    """

    TOKYO_NIGHT_MOON_T16: Literal['tokyo-night-moon-t16'] = 'tokyo-night-moon-t16'
    """
    Tokyo Night Moon: Base-16 color style by "Ólafur Bjarki Bogason".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with lower-level contrast that did not
    meet the AA criteria of the Web Content Accessibility Guidelines (WCAG)
    2.1 (https://www.w3.org/TR/WCAG21/).
    """

    TOKYO_NIGHT_TERMINAL_DARK_T16: Literal[
        'tokyo-night-terminal-dark-t16'] = 'tokyo-night-terminal-dark-t16'
    """
    Tokyo Night Terminal Dark: Base-16 color style by "Michaël Ball".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with lower-level contrast that did not
    meet the AA criteria of the Web Content Accessibility Guidelines (WCAG)
    2.1 (https://www.w3.org/TR/WCAG21/).
    """

    TOKYO_NIGHT_TERMINAL_STORM_T16: Literal[
        'tokyo-night-terminal-storm-t16'] = 'tokyo-night-terminal-storm-t16'
    """
    Tokyo Night Terminal Storm: Base-16 color style by "Michaël Ball".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with lower-level contrast that did not
    meet the AA criteria of the Web Content Accessibility Guidelines (WCAG)
    2.1 (https://www.w3.org/TR/WCAG21/).
    """

    VULCAN_T16: Literal['vulcan-t16'] = 'vulcan-t16'
    """
    vulcan: Base-16 color style by "Andrey Varfolomeev".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a dark variant, with lower-level contrast that did not
    meet the AA criteria of the Web Content Accessibility Guidelines (WCAG)
    2.1 (https://www.w3.org/TR/WCAG21/).
    """

    RANDOM_DARK_LOW_CONTRAST_T16: Literal['random-dark-low-t16'] = 'random-dark-low-t16'

APPRENTICE_T16 class-attribute instance-attribute

APPRENTICE_T16: Literal['apprentice-t16'] = 'apprentice-t16'

Apprentice: Base-16 color style by "romainl".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with lower-level contrast that did not meet the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

BROGRAMMER_T16 class-attribute instance-attribute

BROGRAMMER_T16: Literal['brogrammer-t16'] = 'brogrammer-t16'

Brogrammer: Base-16 color style by "Vik Ramanujam".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with lower-level contrast that did not meet the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

BRUSHTREES_DARK_T16 class-attribute instance-attribute

BRUSHTREES_DARK_T16: Literal['brushtrees-dark-t16'] = 'brushtrees-dark-t16'

Brush Trees Dark: Base-16 color style by "Abraham White".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with lower-level contrast that did not meet the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

ERIS_T16 class-attribute instance-attribute

ERIS_T16: Literal['eris-t16'] = 'eris-t16'

eris: Base-16 color style by "ed".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with lower-level contrast that did not meet the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

EVA_DIM_T16 class-attribute instance-attribute

EVA_DIM_T16: Literal['eva-dim-t16'] = 'eva-dim-t16'

Eva Dim: Base-16 color style by "kjakapat".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with lower-level contrast that did not meet the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

EVA_T16 class-attribute instance-attribute

EVA_T16: Literal['eva-t16'] = 'eva-t16'

Eva: Base-16 color style by "kjakapat".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with lower-level contrast that did not meet the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

EVERFOREST_DARK_MEDIUM_T16 class-attribute instance-attribute

EVERFOREST_DARK_MEDIUM_T16: Literal['everforest-dark-medium-t16'] = 'everforest-dark-medium-t16'

Everforest Dark Medium: Base-16 color style by "Sainnhe Park".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with lower-level contrast that did not meet the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

ICY_T16 class-attribute instance-attribute

ICY_T16: Literal['icy-t16'] = 'icy-t16'

Icy Dark: Base-16 color style by "icyphox".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with lower-level contrast that did not meet the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

LIME_T16 class-attribute instance-attribute

LIME_T16: Literal['lime-t16'] = 'lime-t16'

lime: Base-16 color style by "limelier".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with lower-level contrast that did not meet the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

Literals class-attribute instance-attribute

Literals = Literal[
    "apprentice-t16",
    "brogrammer-t16",
    "brushtrees-dark-t16",
    "eris-t16",
    "eva-dim-t16",
    "eva-t16",
    "everforest-dark-medium-t16",
    "icy-t16",
    "lime-t16",
    "material-vivid-t16",
    "papercolor-dark-t16",
    "pico-t16",
    "summercamp-t16",
    "tarot-t16",
    "tokyo-night-moon-t16",
    "tokyo-night-terminal-dark-t16",
    "tokyo-night-terminal-storm-t16",
    "vulcan-t16",
    "random-dark-low-t16",
]

MATERIAL_VIVID_T16 class-attribute instance-attribute

MATERIAL_VIVID_T16: Literal['material-vivid-t16'] = 'material-vivid-t16'

Material Vivid: Base-16 color style by "joshyrobot".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with lower-level contrast that did not meet the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

PAPERCOLOR_DARK_T16 class-attribute instance-attribute

PAPERCOLOR_DARK_T16: Literal['papercolor-dark-t16'] = 'papercolor-dark-t16'

PaperColor Dark: Base-16 color style by "Jon Leopard".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with lower-level contrast that did not meet the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

PICO_T16 class-attribute instance-attribute

PICO_T16: Literal['pico-t16'] = 'pico-t16'

Pico: Base-16 color style by "PICO-8".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with lower-level contrast that did not meet the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

RANDOM_DARK_LOW_CONTRAST_T16 class-attribute instance-attribute

RANDOM_DARK_LOW_CONTRAST_T16: Literal['random-dark-low-t16'] = 'random-dark-low-t16'

SUMMERCAMP_T16 class-attribute instance-attribute

SUMMERCAMP_T16: Literal['summercamp-t16'] = 'summercamp-t16'

summercamp: Base-16 color style by "zoe firi".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with lower-level contrast that did not meet the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

TAROT_T16 class-attribute instance-attribute

TAROT_T16: Literal['tarot-t16'] = 'tarot-t16'

tarot: Base-16 color style by "ed".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with lower-level contrast that did not meet the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

TOKYO_NIGHT_MOON_T16 class-attribute instance-attribute

TOKYO_NIGHT_MOON_T16: Literal['tokyo-night-moon-t16'] = 'tokyo-night-moon-t16'

Tokyo Night Moon: Base-16 color style by "Ólafur Bjarki Bogason".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with lower-level contrast that did not meet the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

TOKYO_NIGHT_TERMINAL_DARK_T16 class-attribute instance-attribute

TOKYO_NIGHT_TERMINAL_DARK_T16: Literal["tokyo-night-terminal-dark-t16"] = (
    "tokyo-night-terminal-dark-t16"
)

Tokyo Night Terminal Dark: Base-16 color style by "Michaël Ball".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with lower-level contrast that did not meet the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

TOKYO_NIGHT_TERMINAL_STORM_T16 class-attribute instance-attribute

TOKYO_NIGHT_TERMINAL_STORM_T16: Literal["tokyo-night-terminal-storm-t16"] = (
    "tokyo-night-terminal-storm-t16"
)

Tokyo Night Terminal Storm: Base-16 color style by "Michaël Ball".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with lower-level contrast that did not meet the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

VULCAN_T16 class-attribute instance-attribute

VULCAN_T16: Literal['vulcan-t16'] = 'vulcan-t16'

vulcan: Base-16 color style by "Andrey Varfolomeev".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a dark variant, with lower-level contrast that did not meet the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

DarkTintedThemingBase16ColorStyles

Bases: DarkHighContrastTintedThemingBase16ColorStyles, DarkLowContrastTintedThemingBase16ColorStyles

ATTRIBUTE DESCRIPTION
Literals

RANDOM_DARK_T16

TYPE: Literal['random-dark-t16']

Source code in src/omnipy/shared/enums/colorstyles.py
class DarkTintedThemingBase16ColorStyles(
        DarkHighContrastTintedThemingBase16ColorStyles,
        DarkLowContrastTintedThemingBase16ColorStyles,
):
    f"""
    {_GENERAL_T16_COLOR_STYLE_DOCSTRING.format(description='All dark')}
    """

    Literals = Literal[DarkHighContrastTintedThemingBase16ColorStyles.Literals,
                       DarkLowContrastTintedThemingBase16ColorStyles.Literals,
                       'random-dark-t16']

    RANDOM_DARK_T16: Literal['random-dark-t16'] = 'random-dark-t16'

Literals class-attribute instance-attribute

RANDOM_DARK_T16 class-attribute instance-attribute

RANDOM_DARK_T16: Literal['random-dark-t16'] = 'random-dark-t16'

Dataset

Bases: DatasetDisplayMixin, TaskDatasetMixin, DataClassBase, pyd.GenericModel, UserDict[str, _ModelOrDatasetT], Generic[_ModelOrDatasetT]

Dict-based container of data files that follow a specific Model

Dataset is a generic class that cannot be instantiated directly. Instead, a Dataset class needs to be specialized with a data model before Dataset objects can be instantiated. A data model functions as a data parser and guarantees that the parsed data follows the specified model.

The specialization must be done through the use of Model, either directly, e.g.::

MyDataset = Dataset[Model[dict[str, list[int]]])

... or indirectly, using a Model subclass, e.g.::

class MyModel(Model[dict[str, list[int]]):
    pass

MyDataset = Dataset[MyModel]

... alternatively through the specification of a Dataset subclass::

class MyDataset(Dataset[MyModel]):
    pass

The specialization can also be done in a more deeply nested structure, e.g.::

class MyNumberList(Model[list[int]]):
    pass

class MyToplevelDict(Model[dict[str, MyNumberList]]):
    pass

class MyDataset(Dataset[MyToplevelDict]):
    pass

Once instantiated, a dataset object functions as a dict of data files, with the keys referring to the data file names and the content to the data file content, e.g.::

MyNumberListDataset = Dataset[Model[list[int]]]

my_dataset = MyNumberListDataset({'file_1': [1,2,3]})
my_dataset['file_2'] = [2,3,4]

print(my_dataset.keys())

The Dataset class is a wrapper class around the powerful GenericModel class from pydantic.

CLASS DESCRIPTION
Config
METHOD DESCRIPTION
__init__
absorb
absorb_and_replace
as_multi_model_dataset
clone_dataset_cls
copy
dict
do
from_data
from_json
get_type

Returns the concrete type (Model or Dataset class) used for all

load
load_into
save
to
to_data
to_json
to_json_schema
update_forward_refs
validate

Hack to allow overwriting of iter method without compromising pydantic validation. Part

ATTRIBUTE DESCRIPTION
data

TYPE: dict[str, _ModelOrDatasetT]

Source code in src/omnipy/data/dataset.py
  92
  93
  94
  95
  96
  97
  98
  99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245
 246
 247
 248
 249
 250
 251
 252
 253
 254
 255
 256
 257
 258
 259
 260
 261
 262
 263
 264
 265
 266
 267
 268
 269
 270
 271
 272
 273
 274
 275
 276
 277
 278
 279
 280
 281
 282
 283
 284
 285
 286
 287
 288
 289
 290
 291
 292
 293
 294
 295
 296
 297
 298
 299
 300
 301
 302
 303
 304
 305
 306
 307
 308
 309
 310
 311
 312
 313
 314
 315
 316
 317
 318
 319
 320
 321
 322
 323
 324
 325
 326
 327
 328
 329
 330
 331
 332
 333
 334
 335
 336
 337
 338
 339
 340
 341
 342
 343
 344
 345
 346
 347
 348
 349
 350
 351
 352
 353
 354
 355
 356
 357
 358
 359
 360
 361
 362
 363
 364
 365
 366
 367
 368
 369
 370
 371
 372
 373
 374
 375
 376
 377
 378
 379
 380
 381
 382
 383
 384
 385
 386
 387
 388
 389
 390
 391
 392
 393
 394
 395
 396
 397
 398
 399
 400
 401
 402
 403
 404
 405
 406
 407
 408
 409
 410
 411
 412
 413
 414
 415
 416
 417
 418
 419
 420
 421
 422
 423
 424
 425
 426
 427
 428
 429
 430
 431
 432
 433
 434
 435
 436
 437
 438
 439
 440
 441
 442
 443
 444
 445
 446
 447
 448
 449
 450
 451
 452
 453
 454
 455
 456
 457
 458
 459
 460
 461
 462
 463
 464
 465
 466
 467
 468
 469
 470
 471
 472
 473
 474
 475
 476
 477
 478
 479
 480
 481
 482
 483
 484
 485
 486
 487
 488
 489
 490
 491
 492
 493
 494
 495
 496
 497
 498
 499
 500
 501
 502
 503
 504
 505
 506
 507
 508
 509
 510
 511
 512
 513
 514
 515
 516
 517
 518
 519
 520
 521
 522
 523
 524
 525
 526
 527
 528
 529
 530
 531
 532
 533
 534
 535
 536
 537
 538
 539
 540
 541
 542
 543
 544
 545
 546
 547
 548
 549
 550
 551
 552
 553
 554
 555
 556
 557
 558
 559
 560
 561
 562
 563
 564
 565
 566
 567
 568
 569
 570
 571
 572
 573
 574
 575
 576
 577
 578
 579
 580
 581
 582
 583
 584
 585
 586
 587
 588
 589
 590
 591
 592
 593
 594
 595
 596
 597
 598
 599
 600
 601
 602
 603
 604
 605
 606
 607
 608
 609
 610
 611
 612
 613
 614
 615
 616
 617
 618
 619
 620
 621
 622
 623
 624
 625
 626
 627
 628
 629
 630
 631
 632
 633
 634
 635
 636
 637
 638
 639
 640
 641
 642
 643
 644
 645
 646
 647
 648
 649
 650
 651
 652
 653
 654
 655
 656
 657
 658
 659
 660
 661
 662
 663
 664
 665
 666
 667
 668
 669
 670
 671
 672
 673
 674
 675
 676
 677
 678
 679
 680
 681
 682
 683
 684
 685
 686
 687
 688
 689
 690
 691
 692
 693
 694
 695
 696
 697
 698
 699
 700
 701
 702
 703
 704
 705
 706
 707
 708
 709
 710
 711
 712
 713
 714
 715
 716
 717
 718
 719
 720
 721
 722
 723
 724
 725
 726
 727
 728
 729
 730
 731
 732
 733
 734
 735
 736
 737
 738
 739
 740
 741
 742
 743
 744
 745
 746
 747
 748
 749
 750
 751
 752
 753
 754
 755
 756
 757
 758
 759
 760
 761
 762
 763
 764
 765
 766
 767
 768
 769
 770
 771
 772
 773
 774
 775
 776
 777
 778
 779
 780
 781
 782
 783
 784
 785
 786
 787
 788
 789
 790
 791
 792
 793
 794
 795
 796
 797
 798
 799
 800
 801
 802
 803
 804
 805
 806
 807
 808
 809
 810
 811
 812
 813
 814
 815
 816
 817
 818
 819
 820
 821
 822
 823
 824
 825
 826
 827
 828
 829
 830
 831
 832
 833
 834
 835
 836
 837
 838
 839
 840
 841
 842
 843
 844
 845
 846
 847
 848
 849
 850
 851
 852
 853
 854
 855
 856
 857
 858
 859
 860
 861
 862
 863
 864
 865
 866
 867
 868
 869
 870
 871
 872
 873
 874
 875
 876
 877
 878
 879
 880
 881
 882
 883
 884
 885
 886
 887
 888
 889
 890
 891
 892
 893
 894
 895
 896
 897
 898
 899
 900
 901
 902
 903
 904
 905
 906
 907
 908
 909
 910
 911
 912
 913
 914
 915
 916
 917
 918
 919
 920
 921
 922
 923
 924
 925
 926
 927
 928
 929
 930
 931
 932
 933
 934
 935
 936
 937
 938
 939
 940
 941
 942
 943
 944
 945
 946
 947
 948
 949
 950
 951
 952
 953
 954
 955
 956
 957
 958
 959
 960
 961
 962
 963
 964
 965
 966
 967
 968
 969
 970
 971
 972
 973
 974
 975
 976
 977
 978
 979
 980
 981
 982
 983
 984
 985
 986
 987
 988
 989
 990
 991
 992
 993
 994
 995
 996
 997
 998
 999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
class Dataset(
        DatasetDisplayMixin,
        TaskDatasetMixin,
        DataClassBase,
        pyd.GenericModel,
        UserDict[str, _ModelOrDatasetT],
        Generic[_ModelOrDatasetT],
        metaclass=_DatasetMetaclass):
    """
    Dict-based container of data files that follow a specific Model

    Dataset is a generic class that cannot be instantiated directly. Instead, a Dataset class needs
    to be specialized with a data model before Dataset objects can be instantiated. A data model
    functions as a data parser and guarantees that the parsed data follows the specified model.

    The specialization must be done through the use of Model, either directly, e.g.::

        MyDataset = Dataset[Model[dict[str, list[int]]])

    ... or indirectly, using a Model subclass, e.g.::

        class MyModel(Model[dict[str, list[int]]):
            pass

        MyDataset = Dataset[MyModel]

    ... alternatively through the specification of a Dataset subclass::

        class MyDataset(Dataset[MyModel]):
            pass

    The specialization can also be done in a more deeply nested structure, e.g.::

        class MyNumberList(Model[list[int]]):
            pass

        class MyToplevelDict(Model[dict[str, MyNumberList]]):
            pass

        class MyDataset(Dataset[MyToplevelDict]):
            pass

    Once instantiated, a dataset object functions as a dict of data files, with the keys
    referring to the data file names and the content to the data file content, e.g.::

        MyNumberListDataset = Dataset[Model[list[int]]]

        my_dataset = MyNumberListDataset({'file_1': [1,2,3]})
        my_dataset['file_2'] = [2,3,4]

        print(my_dataset.keys())

    The Dataset class is a wrapper class around the powerful `GenericModel` class from pydantic.
    """
    class Config:
        validate_assignment = True
        arbitrary_types_allowed = True

        # TODO: Use json serializer package from the pydantic config instead of 'json'

        # json_loads = orjson.loads
        # json_dumps = orjson_dumps

    if TYPE_CHECKING:
        data: dict[str, _ModelOrDatasetT] = pyd.Field(default={})

    else:

        # TODO: For pydantic v2, remove hack in Dataset to stop e.g.
        #       [{'a': 'b', 'c': 'd'}] to be coerced into {'a': 'c'} (remove
        #       first part of the union below, and edit get_type() and to_json_schema())
        data: list[dict[str, _ModelOrDatasetT]] | dict[str, _ModelOrDatasetT] = pyd.Field(
            default={})

    # data: dict[str, _ModelOrDatasetT] = pyd.Field(default={})

    def __class_getitem__(  # type: ignore[override]
        cls,
        params: type[_ModelOrDatasetT] | tuple[type[_ModelOrDatasetT]]
        | tuple[type[_ModelOrDatasetT], Any] | TypeVar
        | tuple[TypeVar, ...],
    ) -> Self:
        # TODO: change model type to params: Type[Any] | tuple[Type[Any], ...]
        #       as in GenericModel.

        _params = cls._prepare_params(params)
        orig_params = cls._clean_type(_params)

        if cls == Dataset:
            for type_variant in split_to_union_variants(orig_params):
                from omnipy.data.model import is_model_subclass

                if (not isinstance(type_variant,
                                   (TypeVar, str)) and not is_model_subclass(type_variant)
                        and not is_dataset_subclass(type_variant)):
                    cls._raise_type_exception(f'Invalid model: {orig_params} ')
        else:
            if isinstance(orig_params, TypeVar):
                _params = get_default_if_typevar(orig_params)

        created_dataset = super().__class_getitem__(_params)
        cls._recursively_set_allow_none(created_dataset._get_data_field())
        cleanup_name_qualname_and_module(cls, created_dataset, orig_params)

        return cast(Self, created_dataset)

    @call_super_if_available(call_super_before_method=True)
    @classmethod
    def _clean_type(cls, _type: TypeForm) -> TypeForm:
        return _type

    def __init__(  # noqa: C901
        self,
        value: Mapping[str, object] | Iterable[tuple[str, object]] | UndefinedType = Undefined,
        *,
        data: Mapping[str, object] | UndefinedType = Undefined,
        **kwargs: object,
    ) -> None:
        from omnipy.data.model import is_model_instance, is_pure_pydantic_model

        # TODO: Error message when forgetting parenthesis when creating Dataset should be improved.
        #       Unclear where this can be done, if anywhere? E.g.:
        #           a = Dataset[Model[int]]
        #           a['adsfas'] = 2
        #           Traceback (most recent call last):
        #             ...
        #           TypeError: 'ModelMetaclass' object does not support item assignment
        #
        # TODO: Disallow e.g.:
        #       Dataset[Model[str]](Model[int](5)) ==  Dataset[Model[str]](data=Model[int](5))
        #       == Dataset[Model[str]](data={'__root__': Model[str]('5')})

        super_kwargs = {}

        assert DATA_KEY not in kwargs, \
            ('Not allowed with "data" as kwargs key. Not sure how you managed this? Are you trying '
             'to break Dataset init on purpose?')

        if value != Undefined:
            assert data == Undefined, \
                'Not allowed to combine positional and "data" keyword argument'
            assert len(kwargs) == 0, \
                'Not allowed to combine positional and keyword arguments'
            super_kwargs[DATA_KEY] = value

        if data != Undefined:
            assert len(kwargs) == 0, \
                f"Not allowed to combine '{DATA_KEY}' with other keyword arguments"
            super_kwargs[DATA_KEY] = data

        if kwargs:
            if DATA_KEY not in super_kwargs:
                super_kwargs[DATA_KEY] = kwargs
                kwargs = {}

        _type = self.get_type()
        if _type == _ModelOrDatasetT:  # type: ignore[misc]
            self._raise_type_exception()

        def _validate_any_models_or_datasets(
                iterable_data: Iterable[tuple[str, object]]) -> tuple[dict, bool]:

            prepared_data = {}
            _model_or_dataset_as_input: bool = False

            for key, val in iterable_data:
                if is_model_instance(val):
                    _model_or_dataset_as_input = True
                    prepared_data[key] = self._validate_value_for_data_file(key, val)
                else:
                    prepared_data[key] = val
            return prepared_data, _model_or_dataset_as_input

        model_or_dataset_as_input = False
        if DATA_KEY in super_kwargs:
            input_data = super_kwargs[DATA_KEY]
            for_type_check = input_data.content if is_model_instance(input_data) else input_data
            match for_type_check:
                case Dataset():
                    model_or_dataset_as_input = True
                    super_kwargs[DATA_KEY] = cast(Dataset, input_data).to_data()
                case _input_data if is_pure_pydantic_model(_input_data):
                    super_kwargs[DATA_KEY], model_or_dataset_as_input = (
                        _validate_any_models_or_datasets(_input_data.dict().items()))
                case Mapping():
                    super_kwargs[DATA_KEY], model_or_dataset_as_input = (
                        _validate_any_models_or_datasets(cast(Mapping, input_data).items()))
                case Iterable():
                    try:
                        super_kwargs[DATA_KEY], model_or_dataset_as_input = (
                            _validate_any_models_or_datasets(self._check_iterable(input_data)))
                    except (TypeError, ValueError) as e:
                        raise TypeError(
                            'Data object must be a mapping or an iterable of '
                            '(key, val) pairs',
                            self.__class__) from e

                case _:
                    ...

        self._init(super_kwargs, **kwargs)

        try:
            self._primary_validation(super_kwargs)
        except ValidationError:
            if model_or_dataset_as_input:
                self._secondary_validation_from_data(super_kwargs)
            else:
                raise

        if not self.__doc__:
            self._set_standard_field_description()

    def _primary_validation(self, super_kwargs):
        # Pydantic validation of super_kwargs
        super().__init__(**super_kwargs)

    def _secondary_validation_from_data(self, super_kwargs):
        super().__init__()
        self.from_data(super_kwargs[DATA_KEY])

    def _init(self, super_kwargs: dict_t[str, Any], **kwargs: Any) -> None:
        ...

    # TODO: Revise with pydantic v2: __deepcopy__ is not defined for Dataset and Model, as it is not
    #       supported by pydantic v1. BaseModel.copy(deep=True) does not support a deepcopy memo.
    #       So we instead make use of the builtin support for deepcopy, which seems to work fine.
    #       However, __deepcopy__ in pydantic v2 is probably more efficient due to the memo and
    #       the Rust backend.

    def __copy__(self):
        return self.copy(deep=False)

    def copy(self, *, deep: bool = False, **kwargs) -> Self:
        pydantic_copy = pyd.GenericModel.copy(self, deep=deep, **kwargs)
        if not deep:
            object.__setattr__(pydantic_copy, DATA_KEY, pydantic_copy.__dict__[DATA_KEY].copy())

        return pydantic_copy  # pyright: ignore [reportReturnType]

    @classmethod
    def clone_dataset_cls(cls,
                          new_dataset_cls_name: str,
                          model_cls: type[_NewModelT] | None = None) -> type[Self]:
        if model_cls:
            generic_dataset_cls = cls.__bases__[0]
            new_base_cls = generic_dataset_cls[model_cls]  # type: ignore[index]
        else:
            new_base_cls = cls

        new_dataset_cls = type(new_dataset_cls_name, (new_base_cls,), {})
        return new_dataset_cls

    @classmethod
    def _get_data_field(cls) -> pyd.ModelField:
        return cast(pyd.ModelField, cls.__fields__.get(DATA_KEY))

    @classmethod
    @functools.cache
    def get_type(cls) -> type[_ModelOrDatasetT]:
        """
        Returns the concrete type (Model or Dataset class) used for all
        data files in the dataset, e.g.: `Model[list[int]]`, or
        `Dataset[Model[dict[str, float]]]` for nested datasets.
        :return: The concrete type (Model or Dataset class) used for all
                 data files in the dataset.
        """
        # Part of pydantic v1 hack to stop coercing of e.g.
        # [{'a': 'b', 'c': 'd'}] to {'a': 'c'}
        return cls._clean_type(cls._get_data_field().sub_fields[1].type_)  # type: ignore[index]
        # return cls._clean_type(cls._get_data_field().type_)

    @classmethod
    def _clean_type_caches(cls):
        cls.get_type.cache_clear()

    @staticmethod
    def _raise_type_exception(prefix_msg: str = '') -> None:
        msg = dedent("""\
            The Dataset class requires a concrete type (e.g. a Model class
            or a subclass) to be specified as a type hierarchy within
            brackets either directly, e.g.:

              model = Dataset[Model[list[int]]]()

            or indirectly in a subclass definition, e.g.:

              class MyNumberListDataset(Dataset[Model[list[int]]]): ...

            For anything other than the simplest cases, the definition of
            Model and Dataset subclasses is encouraged , e.g.:

              class MyNumberListModel(Model[list[int]]): ...
              class MyDataset(Dataset[MyNumberListModel]): ...

            Alternatively, a dataset can nest another dataset instead of a
            model, e.g.:

              class MyNestedDataset(Dataset[Dataset[Model[list[int]]]]): ...

            Note that at the bottom of the dataset nesting hierarchy, a
            Model class must always be specified.

            Unions of Model or Dataset classes are also supported, e.g.:

              model = Dataset[Model[int] | StrModel]()""")
        if prefix_msg:
            msg = prefix_msg + '\n\n' + msg
        raise TypeError(msg)

    def _set_standard_field_description(self) -> None:
        self.__fields__[DATA_KEY].field_info.description = self._get_standard_field_description()

    @classmethod
    def _get_standard_field_description(cls) -> str:
        return ('This class represents a dataset in the `omnipy` Python package and contains '
                'a set of named data items that follows the same data model. '
                'It is a statically typed specialization of the Dataset class according to a '
                'particular specialization of the Model class. Both main classes are wrapping '
                'the excellent Python package named `pydantic`.')

    if TYPE_CHECKING:  # noqa: C901

        # The code below is a hack needed because of a fundamental limitation of the current Python
        # typing syntax. There is no way (that we know of) to tell the type checkers that Model
        # objects can mimic the functionality of their type arguments, say that a Model[list] can
        # mimic a list. What we were aiming to do as a lesser hack was to tell to the type checkers
        # that the Model objects can be considered as inheriting from both the Model class
        # and the type argument class, e.g. Model[list] and list, but in a general way, using type
        # variables. As a workaround, we have to overload the Model.__new__ and Dataset.__getitem__
        # methods for the most important types.

        @overload
        def __getitem__(
            self: 'Dataset[Model[float]]',
            selector: str | int,
        ) -> Model_float:
            ...

        @overload
        def __getitem__(
            self: 'Dataset[Model[int]]',
            selector: str | int,
        ) -> Model_int:
            ...

        @overload
        def __getitem__(
            self: 'Dataset[Model[bool]]',
            selector: str | int,
        ) -> Model_bool:
            ...

        @overload
        def __getitem__(
            self: 'Dataset[Model[str]]',
            selector: str | int,
        ) -> Model_str:
            ...

        @overload
        def __getitem__(
            self: 'Dataset[Model[bytes]]',
            selector: str | int,
        ) -> Model_bytes:
            ...

        @overload
        def __getitem__(
            self: 'Dataset[Model[set[_ValT]]]',
            selector: str | int,
        ) -> Model_set[_ValT]:
            ...

        @overload
        def __getitem__(
            self: 'Dataset[Model[list[_ValT]]]',
            selector: str | int,
        ) -> Model_list[_ValT]:
            ...

        @overload
        def __getitem__(
            self: 'Dataset[Model[tuple[_ValT, ...]]]',
            selector: str | int,
        ) -> Model_tuple_same_type[_ValT]:
            ...

        @overload
        def __getitem__(
            self: 'Dataset[Model[tuple[_ValT, _ValT2]]]',
            selector: str | int,
        ) -> Model_tuple_pair[_ValT, _ValT2]:
            ...

        @overload
        def __getitem__(
            self: 'Dataset[Model[dict_t[_KeyT, _ValT]]]',
            selector: str | int,
        ) -> Model_dict[_KeyT, _ValT]:
            ...

        # For better typing of NestedDataset and similar. Will always type
        # as if a nested Dataset is returned, thus will be wrong for the
        # terminal Model case (only when multiple __getitem__ are chained,
        # e.g.:
        #   nested_dataset = Dataset[Dataset[Model[list[int]]]](...)
        #   nested_dataset['a'][0] = 5  # <- here the type checker will
        #                               #    think nested_dataset['a'] is a
        #                               #    Dataset, not a Model[list[int]]

        @overload
        def __getitem__(
            self: 'Dataset[Model[Dataset[_ModelT]]]',
            selector: str | int,
        ) -> Model_Dataset[_ModelT]:
            ...

        @overload
        def __getitem__(
            self: 'Dataset[_DatasetT | _ModelT ]',
            selector: str | int,
        ) -> _DatasetT:
            ...

        @overload
        def __getitem__(
            self: 'Dataset[_DatasetT | _ModelT | _Model2T]',
            selector: str | int,
        ) -> _DatasetT:
            ...

        @overload
        def __getitem__(
            self: 'Dataset[_DatasetT | _ModelT | _Model2T | _Model3T]',
            selector: str | int,
        ) -> _DatasetT:
            ...

        @overload
        def __getitem__(
            self: 'Dataset[_DatasetT | _ModelT | _Model2T | _Model3T | _Model4T]',
            selector: str | int,
        ) -> _DatasetT:
            ...

        # Even though these two overloads overlap, they are needed in this
        # order to solve typing for both nested and regular Dataset cases.

        @overload
        def __getitem__(  # type: ignore[overload-overlap]
            self: 'Dataset[_ModelOrDatasetT]',
            selector: str | int,
        ) -> _ModelOrDatasetT:
            ...

        # The only thing that should really be needed – if Python type hints would have able to
        # describe that Model objects can dynamically inherit from their type arguments. This would
        # at least go some way towards what we really want, which is a way to describe exactly the
        # way Model objects mimic the functionality of their type arguments.
        #
        # @overload
        # def __getitem__(self, selector: str | int) -> _ModelOrDatasetT:
        #     ...

        @overload
        def __getitem__(self, selector: slice | Iterable[str | int]) -> Self:
            ...

    def __getitem__(
        self,
        selector: str | int | slice | Iterable[str | int],
    ) -> '_DatasetT | _ModelOrDatasetT | Model | Self':
        selected_keys = select_keys(selector, self.data)

        if selected_keys.singular:
            value: _ModelOrDatasetT | Self = self.data[selected_keys.keys[0]]
        else:
            value = self.__class__({key: self.data[key] for key in selected_keys.keys})

        return self._check_value(value)

    @call_super_if_available(call_super_before_method=True)
    def _check_value(self, value: Any) -> Any:
        return value

    def __delitem__(self, selector: str | int | slice | Iterable[str | int]) -> None:
        selected_keys = select_keys(selector, self.data)

        if selected_keys.singular:
            del self.data[selected_keys.keys[0]]
        else:
            prev_data = copy(self.data)

            try:
                for key in selected_keys.keys:
                    del self.data[key]
            except Exception:
                self.data = prev_data
                raise

    @overload
    def __setitem__(self, selector: str | int, data_obj: object) -> None:
        ...

    @overload
    def __setitem__(self,
                    selector: slice | Iterable[str | int],
                    data_obj: Mapping[str, object] | Iterable[object]) -> None:
        ...

    def __setitem__(
        self,
        selector: str | int | slice | Iterable[str | int],
        data_obj: object | Mapping[str, object] | Iterable[object],
    ) -> None:
        selected_keys = select_keys(selector, self.data)

        if selected_keys.singular:
            self._set_data_file_and_validate(selected_keys.keys[0],
                                             cast(_ModelOrDatasetT, data_obj))
        else:
            key_2_data_item: Key2DataItemType[object]
            index_2_data_items: Index2DataItemsType[object]

            if isinstance(data_obj, MutableMapping):
                key_2_data_item, index_2_data_items = \
                    prepare_selected_items_with_mapping_data(
                        selected_keys.keys, selected_keys.last_index,
                        cast(Mapping[str, object], data_obj),
                    )

            elif is_iterable(data_obj) and not isinstance(data_obj, (str, bytes)):
                key_2_data_item, index_2_data_items = \
                    prepare_selected_items_with_iterable_data(
                        selected_keys.keys, selected_keys.last_index, tuple(data_obj),
                        cast(Mapping[str, object], self.data),
                    )

            else:
                raise TypeError('Data object must be a mapping or an iterable')

            self._update_selected_items_with_data_items(key_2_data_item, index_2_data_items)

    def _update_selected_items_with_data_items(
        self,
        key_2_data_item: Key2DataItemType[object],
        index_2_data_item: Index2DataItemsType[object],
    ) -> None:

        updated_mapping = create_updated_mapping(
            cast(MutableMapping[str, object], self.data), key_2_data_item,
            index_2_data_item)  # pyright: ignore [reportUndefinedVariable]
        self._replace_data_with_mapping(updated_mapping)

    def _replace_data_with_mapping(self, updated_mapping: MutableMapping[str, object]) -> None:
        prev_data = self.data
        try:
            self.absorb_and_replace(self.__class__(updated_mapping))
        except Exception:
            self.data = prev_data
            raise

    def _set_data_file_and_validate(self, key: str, val: _ModelOrDatasetT) -> None:
        has_prev_value = key in self.data
        if has_prev_value:
            prev_value = self.data[key]

        try:
            self.data[key] = val
            self._validate_data_file(key)
        except Exception:
            if has_prev_value:
                self.data[key] = prev_value
            else:
                del self.data[key]
            raise

    @classmethod
    def _check_iterable(cls, iterable: Iterable[Any]) -> Iterable[Any]:
        if isinstance(iterable, (str, bytes)):
            raise TypeError(
                'Outer data iterables cannot be strings or, '
                'bytes, got: {type(value)}', cls)

        def check_iterable_elements(iterable: Iterable) -> Iterator:
            for el in iterable:
                if not isinstance(el, (tuple, list)):
                    raise TypeError(
                        'Inner data iterable elements must be '
                        '(key, val) pairs, as tuples or lists, '
                        f'not: {type(el)}',
                        cls)
                if isinstance(el, Mapping):
                    yield from el.items()
                else:
                    yield el

        return check_iterable_elements(iterable)

    @classmethod
    def validate(cls, value: Any) -> Self:
        """
        Hack to allow overwriting of __iter__ method without compromising pydantic validation. Part
        of the pydantic API and not the Omnipy API.
        """
        # TODO: Doublecheck if validate() method is still needed for pydantic v2

        # validate_cls_counts[cls.__name__] += 1
        if is_iterable(value) and not isinstance(value, Mapping):
            value = cls._check_iterable(value)

        return super().validate({'data': value})

    @classmethod
    def update_forward_refs(
        cls,
        calling_module: str | None = None,
        prev_visited_classes: set[type] | None = None,
        **localns: Any,
    ) -> None:
        from omnipy.data.model import is_model_subclass
        """
        Try to update ForwardRefs on fields based on this Model, globalns and localns.
        """

        if prev_visited_classes is None:
            prev_visited_classes = set()
        elif cls in prev_visited_classes:
            return

        # Merge the namespaces of the Datasets's own module and the
        # calling module to the local namespace for evaluation of forward
        # references, which is necessary for cases where the Dataset is
        # defined in a different module than where it is used, e.g. when
        # the Dataset is defined in a library and used by a user in their
        # own code.
        if calling_module is None:
            calling_module = get_calling_module_name()
        own_module_ns, globalns = \
            build_own_module_and_global_namespace_for_forward_refs(cls, calling_module, **localns)

        prev_type = cls._get_data_field().type_

        super().update_forward_refs(**globalns)

        cls._get_data_field().type_ = evaluate_any_forward_refs_if_possible(prev_type, **globalns)
        cls.__annotations__[DATA_KEY] = evaluate_any_forward_refs_if_possible(
            cls.__annotations__[DATA_KEY], **globalns)

        prev_visited_classes.add(cls)

        # Merge the Dataset's own module namespace into
        # localns before propagating. This is to allow Model classes and
        # pydantic-generated parametrized base classes (which have
        # __module__='omnipy.data.dataset' rather than the defining
        # module) to still resolve forward refs that only exist
        # in the defining module's namespace.

        extra_ns: dict[str, Any] = {}
        extra_ns.update(own_module_ns)
        extra_ns.update(localns)

        # Propagate update_forward_refs to parent Dataset classes but
        # retaining the same calling module. This is needed to ensure the
        # correct context is used to resolve forward references in complex
        # inheritance hierarchies.
        #
        # We explicitly call `update_forward_refs` on immediate parent
        # classes (`__bases__`) instead of relying solely on
        # `super().update_forward_refs()`. This is because `super()`
        # inside this classmethod resolves relative to `Dataset` in the MRO,
        # silently bypassing custom logic on any intermediate `Dataset`
        # subclasses. Explicitly propagating through `__bases__` ensures
        # that class-level setups are correctly applied to all parents
        # exactly once, efficiently preventing redundant updates.
        for base in cls.__bases__:
            if is_dataset_subclass(base) and base is not Dataset:
                base.update_forward_refs(
                    calling_module=calling_module,
                    prev_visited_classes=prev_visited_classes,
                    **extra_ns,
                )

        # As above, but now propagate update_forward_refs to the types of
        # the Dataset (e.g. the Model).
        for type_variant in split_to_union_variants(cls.get_type()):
            if is_dataset_subclass(type_variant) or is_model_subclass(type_variant):
                type_variant.update_forward_refs(
                    calling_module=calling_module,
                    prev_visited_classes=prev_visited_classes,
                    **extra_ns,
                )

        cls.__name__ = remove_forward_ref_notation(cls.__name__)
        cls.__qualname__ = remove_forward_ref_notation(cls.__qualname__)

        cls._clean_type_caches()

    def _validate_data_file(self, data_file: str) -> None:
        from omnipy.data.model import is_model_instance

        val = self.data[data_file]
        if is_model_instance(val):
            self.data[data_file] = self._validate_value_for_data_file(data_file, val)
        else:
            self._force_full_validation()

    @staticmethod
    def _basic_validation_func(type_variant: 'type[Model | Dataset]',
                               value: UndefinedType | object) -> _ModelOrDatasetT:
        return cast(_ModelOrDatasetT, type_variant(value))  # type: ignore[arg-type]

    @classmethod
    def _validate_value_for_data_file(
        cls,
        data_file: str,
        value: UndefinedType | object,
        validation_func: (
            'Callable[[type[Model | Dataset], UndefinedType | object], _ModelOrDatasetT]'
        ) = _basic_validation_func,
    ) -> _ModelOrDatasetT:
        errors = []
        for type_variant in split_to_union_variants(cls.get_type()):
            try:
                return validation_func(cast('type[Model | Dataset]', type_variant), value)
            except (ValidationError, ValueError, TypeError) as exp:
                errors.append(exp)
        assert errors
        raise ValidationError([pyd.ErrorWrapper(exc, loc=data_file) for exc in errors], cls)

    def _force_full_validation(self):
        self.data = self.data  # Triggers pydantic validation, as validate_assignment=True

    @override
    def __iter__(self) -> Iterator[str]:  # type: ignore[override]
        return UserDict.__iter__(self)

    def __setattr__(self, attr: str, value: Any) -> None:
        if attr in self.__dict__ or attr == DATA_KEY or attr.startswith('__'):
            super().__setattr__(attr, value)
        elif attr == 'repr_state':
            prop = getattr(self.__class__, attr)
            prop.__set__(self, value)
        else:
            raise RuntimeError('Model does not allow setting of extra attributes')

    @pyd.root_validator
    def _parse_root_object(
        cls,
        root_obj: dict_t[str, dict_t[str, _ModelOrDatasetT]],
    ) -> Any:  # noqa
        assert DATA_KEY in root_obj
        data_dict = root_obj[DATA_KEY]
        for data_file, val in data_dict.items():
            if val is None:

                def validation_by_parse_obj(
                    type_variant: 'type[Model | Dataset]',
                    value: UndefinedType | object,
                ) -> _ModelOrDatasetT:
                    return cast(_ModelOrDatasetT, type_variant.parse_obj(value))

                data_dict[data_file] = cls._validate_value_for_data_file(
                    data_file,
                    val,
                    validation_by_parse_obj,
                )

        return {DATA_KEY: data_dict}

    def to(self, model_or_dataset_cls: type[_OtherModelOrDatasetT]) -> '_OtherModelOrDatasetT':
        return model_or_dataset_cls(self)

    def do(self, placeholder: F) -> 'Dataset[_ModelOrDatasetT]':
        new_dataset = self.__class__()
        for data_file, val in self.items():
            new_dataset[data_file] = placeholder(val)
        return new_dataset

    def to_data(self) -> dict_t[str, Any]:
        return {key: self._check_value(val) for key, val in self.dict(by_alias=True).items()}

    def dict(self, **kwargs) -> dict_t[str, Any]:
        return super().dict(**kwargs)[DATA_KEY]

    def from_data(self,
                  data: Mapping[str, Any] | Iterable[tuple[str, Any]],
                  update: bool = True) -> None:
        def callback_func(type_variant: 'Model | Dataset', content: Any):
            type_variant.from_data(content)

        self._from_dict_with_callback(data, update, callback_func)

    def _from_dict_with_callback(self,
                                 data: Mapping[str, Any] | Iterable[tuple[str, Any]],
                                 update: bool,
                                 callback_func: 'Callable[[Model | Dataset, Any], None]'):
        if isinstance(data, dict):
            data_as_dict: dict[str, Any] = data  # pyright: ignore [reportAssignmentType]
        else:
            data_as_dict = dict(data)

        if not update:
            self.clear()

        for data_file, content in data_as_dict.items():
            # TODO: Redefine from_data() also as classmethods on Model and
            #       Dataset. Here, we could then do
            #       type_variant.from_data(content) instead of creating a
            #       new instance and then calling from_data() on it.
            #       Instance-level from_data() should however also be kept,
            #       as it is useful in many cases. Note: Classmethod
            #       from_data() should still first create an empty instance
            #       and then call instance-level from_data() on it, to avoid
            #       issues with __init__ arguments (when e.g. 'self', 'value',
            #       'data' is used as keys in the data).

            def validation_by_callback_func(
                type_variant: 'type[Model | Dataset]',
                value: UndefinedType | object,
            ) -> _ModelOrDatasetT:
                new_instance = type_variant()
                callback_func(new_instance, value)
                return cast(_ModelOrDatasetT, new_instance)

            self.data[data_file] = self._validate_value_for_data_file(
                data_file,
                content,
                validation_by_callback_func,
            )

    def absorb(self, other: 'Dataset'):
        self.from_data(other.to_data(), update=True)

    def absorb_and_replace(self, other: 'Dataset'):
        self.from_data(other.to_data(), update=False)

    def to_json(self, pretty=True) -> dict_t[str, str]:
        result = {}

        for key, val in self.data.items():
            result[key] = val.to_json(pretty=pretty)

        return result

    def from_json(self,
                  data: Mapping[str, str] | Iterable[tuple[str, str]],
                  update: bool = True) -> None:
        def callback_func(type_variant: 'Model | Dataset', content: Any):
            type_variant.from_json(content)

        self._from_dict_with_callback(data, update, callback_func)

    # @classmethod
    # def get_type_args(cls):
    #     return cls.__fields__.get(DATA_KEY).type_
    #
    #
    # @classmethod
    # def create_from_json(cls, data: str, tuple[str]]):
    #     if isinstance(data, tuple):
    #         data = data[0]
    #
    #     obj = cls()
    #     obj.from_json(data, update=False)
    #     return obj
    #
    # def __reduce__(self):
    #     return self.__class__.create_from_json, (self.to_json(),)

    @classmethod
    def to_json_schema(cls, pretty: bool = True) -> str | dict_t[str, str]:
        result = {}
        clean_dataset = super(Dataset, Dataset).__class_getitem__(cls.get_type())
        schema = clean_dataset.schema()
        for key, val in schema['properties'][DATA_KEY].items():
            # Remove the first part of the type definition of 'data', added
            # as a hack to stop coercing of e.g. [{'a': 'b', 'c': 'd'}]
            # to {'a': 'c'}
            if key == 'anyOf':
                result['type'] = 'object'
                result['additionalProperties'] = {
                    '$ref': '#/definitions/' + pyd.normalize_name(clean_dataset.get_type().__name__)
                }
            else:
                result[key] = val

        result['title'] = clean_dataset.__name__
        result['definitions'] = schema['definitions']

        for model_desc in result['definitions'].values():
            if 'orig_model' in model_desc:
                del model_desc['orig_model']

        if pretty:
            return cls._pretty_print_json(result)
        else:
            return json.dumps(result)

    @staticmethod
    def _pretty_print_json(json_content: Any) -> str:
        return json.dumps(json_content, indent=2)

    def save(self, path: str):
        serializer_registry = self._get_serializer_registry()

        parsed_dataset, serializer = serializer_registry.auto_detect_tar_file_serializer(self)

        if serializer is None:
            print(f'Unable to find a serializer for dataset with data type "{type(self)}". '
                  f'Will abort saving...')
        else:
            if not path.endswith('.tar.gz'):
                out_tar_gz_path = f'{path}.tar.gz'

            print(f'Writing dataset as a gzipped tarpack to "{os.path.abspath(out_tar_gz_path)}"')

            with open(out_tar_gz_path, 'wb') as out_tar_gz_file:
                out_tar_gz_file.write(serializer.serialize(parsed_dataset))

            directory = os.path.abspath(out_tar_gz_path[:-7])
            if not os.path.exists(directory):
                os.makedirs(directory)

            tar = tarfile.open(out_tar_gz_path)
            print(f'Extracting content to directory "{os.path.abspath(out_tar_gz_path[:-7])}"')
            tar.extractall(path=directory)
            tar.close()

    @classmethod
    def load(
        cls,
        paths_or_urls: IsPathsOrUrlsOneOrMoreOrNone = None,
        by_file_suffix: bool = False,
        as_mime_type: None | str = None,
        **kwargs: IsPathOrUrl,
    ) -> Self | asyncio.Task[Self]:
        dataset = cls()
        return dataset.load_into(
            paths_or_urls, by_file_suffix=by_file_suffix, as_mime_type=as_mime_type, **kwargs)

    def load_into(
        self,
        paths_or_urls: IsPathsOrUrlsOneOrMoreOrNone = None,
        by_file_suffix: bool = False,
        as_mime_type: None | str = None,
        **kwargs: IsPathOrUrl,
    ) -> Self | asyncio.Task[Self]:
        from omnipy.components.remote.datasets import HttpUrlDataset
        from omnipy.components.remote.models import HttpUrlModel

        if paths_or_urls is None:
            assert len(kwargs) > 0, 'No paths or urls specified'
            paths_or_urls = kwargs
        else:
            assert len(kwargs) == 0, 'No keyword arguments allowed when paths_or_urls is specified'

        match paths_or_urls:
            case HttpUrlDataset():
                return self._load_http_urls(paths_or_urls, as_mime_type=as_mime_type)

            case HttpUrlModel():
                return self._load_http_urls(
                    HttpUrlDataset({str(paths_or_urls): paths_or_urls}),
                    as_mime_type=as_mime_type,
                )

            case str():
                try:
                    http_url_dataset = HttpUrlDataset({paths_or_urls: paths_or_urls})
                except ValidationError:
                    return self._load_paths([paths_or_urls], by_file_suffix)
                return self._load_http_urls(http_url_dataset, as_mime_type=as_mime_type)

            case Mapping():
                try:
                    http_url_dataset = HttpUrlDataset(paths_or_urls)
                except ValidationError as exp:
                    raise NotImplementedError(
                        'Loading files with specified keys is not yet '
                        'implemented, as only tar.gz file import is '
                        'supported until serializers have been refactored.') from exp
                return self._load_http_urls(http_url_dataset, as_mime_type=as_mime_type)

            case Iterable():
                path_or_url_iterable = paths_or_urls
                try:
                    http_url_dataset = HttpUrlDataset(
                        zip(path_or_url_iterable, path_or_url_iterable))
                except ValidationError:
                    return self._load_paths(path_or_url_iterable, by_file_suffix)
                return self._load_http_urls(http_url_dataset, as_mime_type=as_mime_type)
            case _:
                raise TypeError(f'"paths_or_urls" argument is of incorrect type. Type '
                                f'{type(paths_or_urls)} is not supported.')

    def _load_http_urls(
        self,
        http_url_dataset: IsHttpUrlDataset,
        as_mime_type: None | str = None,
    ) -> Self | asyncio.Task[Self]:
        from omnipy.components.remote.helpers import RateLimitingClientSession
        from omnipy.components.remote.tasks import get_auto_from_api_endpoint

        hosts: defaultdict[str, list[int]] = defaultdict(list)
        for i, url in enumerate(http_url_dataset.values()):
            hosts[url.host].append(i)

        async def load_all(as_mime_type: None | str = None) -> 'Dataset[_ModelOrDatasetT]':
            tasks = []

            for host in hosts:
                async with RateLimitingClientSession(
                        self.config.http.for_host[host].requests_per_time_period,
                        self.config.http.for_host[host].time_period_in_secs) as client_session:
                    indices = hosts[host]
                    # fetch_task = get_auto_from_api_endpoint
                    # if as_mime_type:
                    #     match as_mime_type:
                    #         case 'application/json':
                    #             fetch_task = get_json_from_api_endpoint
                    #         case 'text/plain':
                    #             fetch_task = get_str_from_api_endpoint
                    #         case 'application/octet-stream' | _:
                    #             fetch_task = get_bytes_from_api_endpoint

                    ret = get_auto_from_api_endpoint.refine(
                        output_dataset_param='output_dataset').run(
                            http_url_dataset[indices],
                            client_session=client_session,
                            output_dataset=self,
                            as_mime_type=as_mime_type)

                    if not isinstance(ret, asyncio.Task):
                        assert inspect.iscoroutine(ret)
                        task = asyncio.create_task(ret)
                    else:
                        task = ret

                    tasks.append(task)

                    while not task.done():
                        await asyncio.sleep(ASYNC_LOAD_SLEEP_TIME)

            await asyncio.gather(*tasks)
            return self

        loop, loop_is_running = get_event_loop_and_check_if_loop_is_running()

        if loop and loop_is_running:
            return loop.create_task(load_all(as_mime_type=as_mime_type))
        else:
            return asyncio.run(load_all(as_mime_type=as_mime_type))

    def _load_paths(self, path_or_urls: Iterable[str], by_file_suffix: bool) -> Self:
        for path_or_url in path_or_urls:
            serializer_registry = self._get_serializer_registry()
            tar_gz_file_path = self._ensure_tar_gz_file(path_or_url)

            if by_file_suffix:
                loaded_dataset = \
                    serializer_registry.load_from_tar_file_path_based_on_file_suffix(
                        self, tar_gz_file_path, self)
            else:
                loaded_dataset = \
                    serializer_registry.load_from_tar_file_path_based_on_dataset_cls(
                        self, tar_gz_file_path, self, any_file_suffix=True)
            if loaded_dataset is not None:
                self.absorb(loaded_dataset)
                continue
            else:
                raise RuntimeError('Unable to load from serializer')
        return self

    @staticmethod
    def _ensure_tar_gz_file(path: str):
        assert os.path.exists(path), f'No file or directory at {path}'

        if not path.endswith('.tar.gz'):
            tar_gz_file_path = path + '.tar.gz'
            if not os.path.isfile(tar_gz_file_path):
                print(f'Creating compressed file {os.path.abspath(tar_gz_file_path)} from '
                      f'the content of "{os.path.abspath(path)}"')

                with tarfile.open(tar_gz_file_path, 'w:gz') as tar:
                    if os.path.isdir(path):
                        for fn in sorted(os.listdir(path)):
                            p = os.path.join(path, fn)
                            tar.add(p, arcname=fn)
                    elif os.path.isfile(path):
                        tar.add(path, arcname=os.path.basename(path))
            return tar_gz_file_path

        return path

    @staticmethod
    def _get_serializer_registry():
        from omnipy.components import get_serializer_registry
        return get_serializer_registry()

    def as_multi_model_dataset(self) -> 'IsMultiModelDataset[_ModelOrDatasetT]':
        from omnipy.data.multi import MultiModelDataset

        multi_model_dataset = MultiModelDataset[self.get_type()]()
        for data_file in self:
            multi_model_dataset.data[data_file] = self.data[data_file]
        return multi_model_dataset

    def __eq__(self, other: object) -> bool:
        # return self.__class__ == other.__class__ and super().__eq__(other)
        return isinstance(other, Dataset) \
            and self.__class__ == other.__class__ \
            and self.data == other.data \
            and self.to_data() == other.to_data()  # last is probably unnecessary, but just in case

    def __repr_args__(self):
        from omnipy.data.model import is_model_instance

        return [(k, v.content) if is_model_instance(v) else (k, v) for k, v in self.data.items()]

data class-attribute instance-attribute

data: dict[str, _ModelOrDatasetT] = pyd.Field(default={})

Config

ATTRIBUTE DESCRIPTION
arbitrary_types_allowed

validate_assignment

Source code in src/omnipy/data/dataset.py
class Config:
    validate_assignment = True
    arbitrary_types_allowed = True

arbitrary_types_allowed class-attribute instance-attribute

arbitrary_types_allowed = True

validate_assignment class-attribute instance-attribute

validate_assignment = True

__init__

__init__(
    value: Mapping[str, object] | Iterable[tuple[str, object]] | UndefinedType = Undefined,
    *,
    data: Mapping[str, object] | UndefinedType = Undefined,
    **kwargs: object,
) -> None
Source code in src/omnipy/data/dataset.py
def __init__(  # noqa: C901
    self,
    value: Mapping[str, object] | Iterable[tuple[str, object]] | UndefinedType = Undefined,
    *,
    data: Mapping[str, object] | UndefinedType = Undefined,
    **kwargs: object,
) -> None:
    from omnipy.data.model import is_model_instance, is_pure_pydantic_model

    # TODO: Error message when forgetting parenthesis when creating Dataset should be improved.
    #       Unclear where this can be done, if anywhere? E.g.:
    #           a = Dataset[Model[int]]
    #           a['adsfas'] = 2
    #           Traceback (most recent call last):
    #             ...
    #           TypeError: 'ModelMetaclass' object does not support item assignment
    #
    # TODO: Disallow e.g.:
    #       Dataset[Model[str]](Model[int](5)) ==  Dataset[Model[str]](data=Model[int](5))
    #       == Dataset[Model[str]](data={'__root__': Model[str]('5')})

    super_kwargs = {}

    assert DATA_KEY not in kwargs, \
        ('Not allowed with "data" as kwargs key. Not sure how you managed this? Are you trying '
         'to break Dataset init on purpose?')

    if value != Undefined:
        assert data == Undefined, \
            'Not allowed to combine positional and "data" keyword argument'
        assert len(kwargs) == 0, \
            'Not allowed to combine positional and keyword arguments'
        super_kwargs[DATA_KEY] = value

    if data != Undefined:
        assert len(kwargs) == 0, \
            f"Not allowed to combine '{DATA_KEY}' with other keyword arguments"
        super_kwargs[DATA_KEY] = data

    if kwargs:
        if DATA_KEY not in super_kwargs:
            super_kwargs[DATA_KEY] = kwargs
            kwargs = {}

    _type = self.get_type()
    if _type == _ModelOrDatasetT:  # type: ignore[misc]
        self._raise_type_exception()

    def _validate_any_models_or_datasets(
            iterable_data: Iterable[tuple[str, object]]) -> tuple[dict, bool]:

        prepared_data = {}
        _model_or_dataset_as_input: bool = False

        for key, val in iterable_data:
            if is_model_instance(val):
                _model_or_dataset_as_input = True
                prepared_data[key] = self._validate_value_for_data_file(key, val)
            else:
                prepared_data[key] = val
        return prepared_data, _model_or_dataset_as_input

    model_or_dataset_as_input = False
    if DATA_KEY in super_kwargs:
        input_data = super_kwargs[DATA_KEY]
        for_type_check = input_data.content if is_model_instance(input_data) else input_data
        match for_type_check:
            case Dataset():
                model_or_dataset_as_input = True
                super_kwargs[DATA_KEY] = cast(Dataset, input_data).to_data()
            case _input_data if is_pure_pydantic_model(_input_data):
                super_kwargs[DATA_KEY], model_or_dataset_as_input = (
                    _validate_any_models_or_datasets(_input_data.dict().items()))
            case Mapping():
                super_kwargs[DATA_KEY], model_or_dataset_as_input = (
                    _validate_any_models_or_datasets(cast(Mapping, input_data).items()))
            case Iterable():
                try:
                    super_kwargs[DATA_KEY], model_or_dataset_as_input = (
                        _validate_any_models_or_datasets(self._check_iterable(input_data)))
                except (TypeError, ValueError) as e:
                    raise TypeError(
                        'Data object must be a mapping or an iterable of '
                        '(key, val) pairs',
                        self.__class__) from e

            case _:
                ...

    self._init(super_kwargs, **kwargs)

    try:
        self._primary_validation(super_kwargs)
    except ValidationError:
        if model_or_dataset_as_input:
            self._secondary_validation_from_data(super_kwargs)
        else:
            raise

    if not self.__doc__:
        self._set_standard_field_description()

absorb

absorb(other: Dataset)
Source code in src/omnipy/data/dataset.py
def absorb(self, other: 'Dataset'):
    self.from_data(other.to_data(), update=True)

absorb_and_replace

absorb_and_replace(other: Dataset)
Source code in src/omnipy/data/dataset.py
def absorb_and_replace(self, other: 'Dataset'):
    self.from_data(other.to_data(), update=False)

as_multi_model_dataset

as_multi_model_dataset() -> IsMultiModelDataset[_ModelOrDatasetT]
Source code in src/omnipy/data/dataset.py
def as_multi_model_dataset(self) -> 'IsMultiModelDataset[_ModelOrDatasetT]':
    from omnipy.data.multi import MultiModelDataset

    multi_model_dataset = MultiModelDataset[self.get_type()]()
    for data_file in self:
        multi_model_dataset.data[data_file] = self.data[data_file]
    return multi_model_dataset

clone_dataset_cls classmethod

clone_dataset_cls(
    new_dataset_cls_name: str, model_cls: type[_NewModelT] | None = None
) -> type[Self]
Source code in src/omnipy/data/dataset.py
@classmethod
def clone_dataset_cls(cls,
                      new_dataset_cls_name: str,
                      model_cls: type[_NewModelT] | None = None) -> type[Self]:
    if model_cls:
        generic_dataset_cls = cls.__bases__[0]
        new_base_cls = generic_dataset_cls[model_cls]  # type: ignore[index]
    else:
        new_base_cls = cls

    new_dataset_cls = type(new_dataset_cls_name, (new_base_cls,), {})
    return new_dataset_cls

copy

copy(*, deep: bool = False, **kwargs) -> Self
Source code in src/omnipy/data/dataset.py
def copy(self, *, deep: bool = False, **kwargs) -> Self:
    pydantic_copy = pyd.GenericModel.copy(self, deep=deep, **kwargs)
    if not deep:
        object.__setattr__(pydantic_copy, DATA_KEY, pydantic_copy.__dict__[DATA_KEY].copy())

    return pydantic_copy  # pyright: ignore [reportReturnType]

dict

dict(**kwargs) -> dict_t[str, Any]
Source code in src/omnipy/data/dataset.py
def dict(self, **kwargs) -> dict_t[str, Any]:
    return super().dict(**kwargs)[DATA_KEY]

do

do(placeholder: F) -> Dataset[_ModelOrDatasetT]
Source code in src/omnipy/data/dataset.py
def do(self, placeholder: F) -> 'Dataset[_ModelOrDatasetT]':
    new_dataset = self.__class__()
    for data_file, val in self.items():
        new_dataset[data_file] = placeholder(val)
    return new_dataset

from_data

from_data(data: Mapping[str, Any] | Iterable[tuple[str, Any]], update: bool = True) -> None
Source code in src/omnipy/data/dataset.py
def from_data(self,
              data: Mapping[str, Any] | Iterable[tuple[str, Any]],
              update: bool = True) -> None:
    def callback_func(type_variant: 'Model | Dataset', content: Any):
        type_variant.from_data(content)

    self._from_dict_with_callback(data, update, callback_func)

from_json

from_json(data: Mapping[str, str] | Iterable[tuple[str, str]], update: bool = True) -> None
Source code in src/omnipy/data/dataset.py
def from_json(self,
              data: Mapping[str, str] | Iterable[tuple[str, str]],
              update: bool = True) -> None:
    def callback_func(type_variant: 'Model | Dataset', content: Any):
        type_variant.from_json(content)

    self._from_dict_with_callback(data, update, callback_func)

get_type cached classmethod

get_type() -> type[_ModelOrDatasetT]

Returns the concrete type (Model or Dataset class) used for all data files in the dataset, e.g.: Model[list[int]], or Dataset[Model[dict[str, float]]] for nested datasets. :return: The concrete type (Model or Dataset class) used for all data files in the dataset.

Source code in src/omnipy/data/dataset.py
@classmethod
@functools.cache
def get_type(cls) -> type[_ModelOrDatasetT]:
    """
    Returns the concrete type (Model or Dataset class) used for all
    data files in the dataset, e.g.: `Model[list[int]]`, or
    `Dataset[Model[dict[str, float]]]` for nested datasets.
    :return: The concrete type (Model or Dataset class) used for all
             data files in the dataset.
    """
    # Part of pydantic v1 hack to stop coercing of e.g.
    # [{'a': 'b', 'c': 'd'}] to {'a': 'c'}
    return cls._clean_type(cls._get_data_field().sub_fields[1].type_)  # type: ignore[index]

load classmethod

load(
    paths_or_urls: IsPathsOrUrlsOneOrMoreOrNone = None,
    by_file_suffix: bool = False,
    as_mime_type: None | str = None,
    **kwargs: IsPathOrUrl,
) -> Self | asyncio.Task[Self]
Source code in src/omnipy/data/dataset.py
@classmethod
def load(
    cls,
    paths_or_urls: IsPathsOrUrlsOneOrMoreOrNone = None,
    by_file_suffix: bool = False,
    as_mime_type: None | str = None,
    **kwargs: IsPathOrUrl,
) -> Self | asyncio.Task[Self]:
    dataset = cls()
    return dataset.load_into(
        paths_or_urls, by_file_suffix=by_file_suffix, as_mime_type=as_mime_type, **kwargs)

load_into

load_into(
    paths_or_urls: IsPathsOrUrlsOneOrMoreOrNone = None,
    by_file_suffix: bool = False,
    as_mime_type: None | str = None,
    **kwargs: IsPathOrUrl,
) -> Self | asyncio.Task[Self]
Source code in src/omnipy/data/dataset.py
def load_into(
    self,
    paths_or_urls: IsPathsOrUrlsOneOrMoreOrNone = None,
    by_file_suffix: bool = False,
    as_mime_type: None | str = None,
    **kwargs: IsPathOrUrl,
) -> Self | asyncio.Task[Self]:
    from omnipy.components.remote.datasets import HttpUrlDataset
    from omnipy.components.remote.models import HttpUrlModel

    if paths_or_urls is None:
        assert len(kwargs) > 0, 'No paths or urls specified'
        paths_or_urls = kwargs
    else:
        assert len(kwargs) == 0, 'No keyword arguments allowed when paths_or_urls is specified'

    match paths_or_urls:
        case HttpUrlDataset():
            return self._load_http_urls(paths_or_urls, as_mime_type=as_mime_type)

        case HttpUrlModel():
            return self._load_http_urls(
                HttpUrlDataset({str(paths_or_urls): paths_or_urls}),
                as_mime_type=as_mime_type,
            )

        case str():
            try:
                http_url_dataset = HttpUrlDataset({paths_or_urls: paths_or_urls})
            except ValidationError:
                return self._load_paths([paths_or_urls], by_file_suffix)
            return self._load_http_urls(http_url_dataset, as_mime_type=as_mime_type)

        case Mapping():
            try:
                http_url_dataset = HttpUrlDataset(paths_or_urls)
            except ValidationError as exp:
                raise NotImplementedError(
                    'Loading files with specified keys is not yet '
                    'implemented, as only tar.gz file import is '
                    'supported until serializers have been refactored.') from exp
            return self._load_http_urls(http_url_dataset, as_mime_type=as_mime_type)

        case Iterable():
            path_or_url_iterable = paths_or_urls
            try:
                http_url_dataset = HttpUrlDataset(
                    zip(path_or_url_iterable, path_or_url_iterable))
            except ValidationError:
                return self._load_paths(path_or_url_iterable, by_file_suffix)
            return self._load_http_urls(http_url_dataset, as_mime_type=as_mime_type)
        case _:
            raise TypeError(f'"paths_or_urls" argument is of incorrect type. Type '
                            f'{type(paths_or_urls)} is not supported.')

save

save(path: str)
Source code in src/omnipy/data/dataset.py
def save(self, path: str):
    serializer_registry = self._get_serializer_registry()

    parsed_dataset, serializer = serializer_registry.auto_detect_tar_file_serializer(self)

    if serializer is None:
        print(f'Unable to find a serializer for dataset with data type "{type(self)}". '
              f'Will abort saving...')
    else:
        if not path.endswith('.tar.gz'):
            out_tar_gz_path = f'{path}.tar.gz'

        print(f'Writing dataset as a gzipped tarpack to "{os.path.abspath(out_tar_gz_path)}"')

        with open(out_tar_gz_path, 'wb') as out_tar_gz_file:
            out_tar_gz_file.write(serializer.serialize(parsed_dataset))

        directory = os.path.abspath(out_tar_gz_path[:-7])
        if not os.path.exists(directory):
            os.makedirs(directory)

        tar = tarfile.open(out_tar_gz_path)
        print(f'Extracting content to directory "{os.path.abspath(out_tar_gz_path[:-7])}"')
        tar.extractall(path=directory)
        tar.close()

to

to(model_or_dataset_cls: type[_OtherModelOrDatasetT]) -> _OtherModelOrDatasetT
Source code in src/omnipy/data/dataset.py
def to(self, model_or_dataset_cls: type[_OtherModelOrDatasetT]) -> '_OtherModelOrDatasetT':
    return model_or_dataset_cls(self)

to_data

to_data() -> dict_t[str, Any]
Source code in src/omnipy/data/dataset.py
def to_data(self) -> dict_t[str, Any]:
    return {key: self._check_value(val) for key, val in self.dict(by_alias=True).items()}

to_json

to_json(pretty=True) -> dict_t[str, str]
Source code in src/omnipy/data/dataset.py
def to_json(self, pretty=True) -> dict_t[str, str]:
    result = {}

    for key, val in self.data.items():
        result[key] = val.to_json(pretty=pretty)

    return result

to_json_schema classmethod

to_json_schema(pretty: bool = True) -> str | dict_t[str, str]
Source code in src/omnipy/data/dataset.py
@classmethod
def to_json_schema(cls, pretty: bool = True) -> str | dict_t[str, str]:
    result = {}
    clean_dataset = super(Dataset, Dataset).__class_getitem__(cls.get_type())
    schema = clean_dataset.schema()
    for key, val in schema['properties'][DATA_KEY].items():
        # Remove the first part of the type definition of 'data', added
        # as a hack to stop coercing of e.g. [{'a': 'b', 'c': 'd'}]
        # to {'a': 'c'}
        if key == 'anyOf':
            result['type'] = 'object'
            result['additionalProperties'] = {
                '$ref': '#/definitions/' + pyd.normalize_name(clean_dataset.get_type().__name__)
            }
        else:
            result[key] = val

    result['title'] = clean_dataset.__name__
    result['definitions'] = schema['definitions']

    for model_desc in result['definitions'].values():
        if 'orig_model' in model_desc:
            del model_desc['orig_model']

    if pretty:
        return cls._pretty_print_json(result)
    else:
        return json.dumps(result)

update_forward_refs classmethod

update_forward_refs(
    calling_module: str | None = None, prev_visited_classes: set[type] | None = None, **localns: Any
) -> None
Source code in src/omnipy/data/dataset.py
@classmethod
def update_forward_refs(
    cls,
    calling_module: str | None = None,
    prev_visited_classes: set[type] | None = None,
    **localns: Any,
) -> None:
    from omnipy.data.model import is_model_subclass
    """
    Try to update ForwardRefs on fields based on this Model, globalns and localns.
    """

    if prev_visited_classes is None:
        prev_visited_classes = set()
    elif cls in prev_visited_classes:
        return

    # Merge the namespaces of the Datasets's own module and the
    # calling module to the local namespace for evaluation of forward
    # references, which is necessary for cases where the Dataset is
    # defined in a different module than where it is used, e.g. when
    # the Dataset is defined in a library and used by a user in their
    # own code.
    if calling_module is None:
        calling_module = get_calling_module_name()
    own_module_ns, globalns = \
        build_own_module_and_global_namespace_for_forward_refs(cls, calling_module, **localns)

    prev_type = cls._get_data_field().type_

    super().update_forward_refs(**globalns)

    cls._get_data_field().type_ = evaluate_any_forward_refs_if_possible(prev_type, **globalns)
    cls.__annotations__[DATA_KEY] = evaluate_any_forward_refs_if_possible(
        cls.__annotations__[DATA_KEY], **globalns)

    prev_visited_classes.add(cls)

    # Merge the Dataset's own module namespace into
    # localns before propagating. This is to allow Model classes and
    # pydantic-generated parametrized base classes (which have
    # __module__='omnipy.data.dataset' rather than the defining
    # module) to still resolve forward refs that only exist
    # in the defining module's namespace.

    extra_ns: dict[str, Any] = {}
    extra_ns.update(own_module_ns)
    extra_ns.update(localns)

    # Propagate update_forward_refs to parent Dataset classes but
    # retaining the same calling module. This is needed to ensure the
    # correct context is used to resolve forward references in complex
    # inheritance hierarchies.
    #
    # We explicitly call `update_forward_refs` on immediate parent
    # classes (`__bases__`) instead of relying solely on
    # `super().update_forward_refs()`. This is because `super()`
    # inside this classmethod resolves relative to `Dataset` in the MRO,
    # silently bypassing custom logic on any intermediate `Dataset`
    # subclasses. Explicitly propagating through `__bases__` ensures
    # that class-level setups are correctly applied to all parents
    # exactly once, efficiently preventing redundant updates.
    for base in cls.__bases__:
        if is_dataset_subclass(base) and base is not Dataset:
            base.update_forward_refs(
                calling_module=calling_module,
                prev_visited_classes=prev_visited_classes,
                **extra_ns,
            )

    # As above, but now propagate update_forward_refs to the types of
    # the Dataset (e.g. the Model).
    for type_variant in split_to_union_variants(cls.get_type()):
        if is_dataset_subclass(type_variant) or is_model_subclass(type_variant):
            type_variant.update_forward_refs(
                calling_module=calling_module,
                prev_visited_classes=prev_visited_classes,
                **extra_ns,
            )

    cls.__name__ = remove_forward_ref_notation(cls.__name__)
    cls.__qualname__ = remove_forward_ref_notation(cls.__qualname__)

    cls._clean_type_caches()

validate classmethod

validate(value: Any) -> Self

Hack to allow overwriting of iter method without compromising pydantic validation. Part of the pydantic API and not the Omnipy API.

Source code in src/omnipy/data/dataset.py
@classmethod
def validate(cls, value: Any) -> Self:
    """
    Hack to allow overwriting of __iter__ method without compromising pydantic validation. Part
    of the pydantic API and not the Omnipy API.
    """
    # TODO: Doublecheck if validate() method is still needed for pydantic v2

    # validate_cls_counts[cls.__name__] += 1
    if is_iterable(value) and not isinstance(value, Mapping):
        value = cls._check_iterable(value)

    return super().validate({'data': value})

DisplayColorSystem

Bases: LiteralEnum[str]

Supported display color systems for syntax highlighting.

The color systems map to the color systems provided by the Rich library (https://rich.readthedocs.io/en/stable/console.html#color-systems). The names of the Omnipy attributes have been slightly modified to be more descriptive.

ATTRIBUTE DESCRIPTION
ANSI_16

The standard ANSI color system, which supports 16 colors.

TYPE: Literal['standard']

ANSI_256

The extended ANSI color system, which supports 256 colors.

TYPE: Literal['256']

ANSI_RGB

The truecolor ANSI color system, which supports 16 million colors. Most

TYPE: Literal['truecolor']

AUTO

The default color system, which is automatically detected based on the

TYPE: Literal['auto']

Literals

WINDOWS_LEGACY

The legacy Windows color system, for backwards compatibility with older

TYPE: Literal['windows']

Source code in src/omnipy/shared/enums/display.py
class DisplayColorSystem(LiteralEnum[str]):
    """Supported display color systems for syntax highlighting.

    The color systems map to the color systems provided by the Rich library
    (https://rich.readthedocs.io/en/stable/console.html#color-systems).
    The names of the Omnipy attributes have been slightly modified to be
    more descriptive.
    """

    Literals = Literal['auto', 'standard', '256', 'truecolor', 'windows']

    AUTO: Literal['auto'] = 'auto'
    """
    The default color system, which is automatically detected based on the
    terminal capabilities. This is the default value.
    """

    ANSI_16: Literal['standard'] = 'standard'
    """
    The standard ANSI color system, which supports 16 colors.
    """

    ANSI_256: Literal['256'] = '256'
    """
    The extended ANSI color system, which supports 256 colors.
    """

    ANSI_RGB: Literal['truecolor'] = 'truecolor'
    """
    The truecolor ANSI color system, which supports 16 million colors. Most
    modern terminals support this color system.
    """

    WINDOWS_LEGACY: Literal['windows'] = 'windows'
    """
    The legacy Windows color system, for backwards compatibility with older
    Windows terminals.
    """

ANSI_16 class-attribute instance-attribute

ANSI_16: Literal['standard'] = 'standard'

The standard ANSI color system, which supports 16 colors.

ANSI_256 class-attribute instance-attribute

ANSI_256: Literal['256'] = '256'

The extended ANSI color system, which supports 256 colors.

ANSI_RGB class-attribute instance-attribute

ANSI_RGB: Literal['truecolor'] = 'truecolor'

The truecolor ANSI color system, which supports 16 million colors. Most modern terminals support this color system.

AUTO class-attribute instance-attribute

AUTO: Literal['auto'] = 'auto'

The default color system, which is automatically detected based on the terminal capabilities. This is the default value.

Literals class-attribute instance-attribute

Literals = Literal['auto', 'standard', '256', 'truecolor', 'windows']

WINDOWS_LEGACY class-attribute instance-attribute

WINDOWS_LEGACY: Literal['windows'] = 'windows'

The legacy Windows color system, for backwards compatibility with older Windows terminals.

DisplayDimensionsUpdateMode

Bases: LiteralEnum[str]

Specifies how display dimensions should be updated.

ATTRIBUTE DESCRIPTION
AUTO

Automatically updates the width and height dimension configs of the

TYPE: Literal['auto']

FIXED

Updates the width and height dimension config according to the

TYPE: Literal['fixed']

Literals

Source code in src/omnipy/shared/enums/display.py
class DisplayDimensionsUpdateMode(LiteralEnum[str]):
    """
    Specifies how display dimensions should be updated.
    """

    Literals = Literal['auto', 'fixed']

    AUTO: Literal['auto'] = 'auto'
    """
    Automatically updates the `width` and `height` dimension configs of the
    relevant interface output based on the currently available display area
    every time some output renders or (in some cases) when there is a change
    in the available display area (e.g. a window is resized). Automatic
    updates might not work in cases when the available display area can be
    automatically determined (which is e.g. the case for `PYCHARM_TERMINAL`
    and `PYCHARM_IPYTHON` user interface types). In those cases, the
    specified dimensions are kept unchanged. Default values are defined for
    each type of user interface .
    """

    FIXED: Literal['fixed'] = 'fixed'
    """
    Updates the `width` and `height` dimension config according to the
    available display area only once at the start of the program. Default
    values are defined for each type of user interface. The default values
    can be overridden by the user in the configs, however users are then
    advised to first set `dims_mode` to `FIXED` even when the current
    display area cannot be automatically determined. Setting `dims_mode` to
    `FIXED` retains the current dimensions at the time of the setting.
    """

AUTO class-attribute instance-attribute

AUTO: Literal['auto'] = 'auto'

Automatically updates the width and height dimension configs of the relevant interface output based on the currently available display area every time some output renders or (in some cases) when there is a change in the available display area (e.g. a window is resized). Automatic updates might not work in cases when the available display area can be automatically determined (which is e.g. the case for PYCHARM_TERMINAL and PYCHARM_IPYTHON user interface types). In those cases, the specified dimensions are kept unchanged. Default values are defined for each type of user interface .

FIXED class-attribute instance-attribute

FIXED: Literal['fixed'] = 'fixed'

Updates the width and height dimension config according to the available display area only once at the start of the program. Default values are defined for each type of user interface. The default values can be overridden by the user in the configs, however users are then advised to first set dims_mode to FIXED even when the current display area cannot be automatically determined. Setting dims_mode to FIXED retains the current dimensions at the time of the setting.

Literals class-attribute instance-attribute

Literals = Literal['auto', 'fixed']

EngineChoice

Bases: LiteralEnum[str]

ATTRIBUTE DESCRIPTION
LOCAL

TYPE: Literal['local']

Literals

PREFECT

TYPE: Literal['prefect']

Source code in src/omnipy/shared/enums/job.py
class EngineChoice(LiteralEnum[str]):
    Literals = Literal['local', 'prefect']

    LOCAL: Literal['local'] = 'local'
    PREFECT: Literal['prefect'] = 'prefect'

LOCAL class-attribute instance-attribute

LOCAL: Literal['local'] = 'local'

Literals class-attribute instance-attribute

Literals = Literal['local', 'prefect']

PREFECT class-attribute instance-attribute

PREFECT: Literal['prefect'] = 'prefect'

FlattenedIsaJsonDataset

Bases: Dataset[FlattenedIsaJsonModel]

Source code in src/omnipy/components/isa/datasets.py
class FlattenedIsaJsonDataset(Dataset[FlattenedIsaJsonModel]):
    ...

FlattenedIsaJsonModel

Bases: Model[JsonListOfDictsOfScalarsModel]

Source code in src/omnipy/components/isa/models/__init__.py
class FlattenedIsaJsonModel(Model[JsonListOfDictsOfScalarsModel]):
    ...

ForceAutodetect

Bases: LiteralEnum[str]

ATTRIBUTE DESCRIPTION
ALWAYS

TYPE: Literal['always']

IF_NO_BG_COLOR_IN_STYLE

TYPE: Literal['if_no_bg_color_in_style']

Literals

NEVER

TYPE: Literal['never']

Source code in src/omnipy/data/_display/panel/helpers.py
class ForceAutodetect(LiteralEnum[str]):
    Literals = Literal['never', 'if_no_bg_color_in_style', 'always']

    NEVER: Literal['never'] = 'never'
    IF_NO_BG_COLOR_IN_STYLE: Literal['if_no_bg_color_in_style'] = 'if_no_bg_color_in_style'
    ALWAYS: Literal['always'] = 'always'

ALWAYS class-attribute instance-attribute

ALWAYS: Literal['always'] = 'always'

IF_NO_BG_COLOR_IN_STYLE class-attribute instance-attribute

IF_NO_BG_COLOR_IN_STYLE: Literal['if_no_bg_color_in_style'] = 'if_no_bg_color_in_style'

Literals class-attribute instance-attribute

Literals = Literal['never', 'if_no_bg_color_in_style', 'always']

NEVER class-attribute instance-attribute

NEVER: Literal['never'] = 'never'

FuncFlow

Bases: JobMixin[IsFuncFlowTemplate[_CallP, _RetT], IsFuncFlow[_CallP, _RetT], _CallP, _RetT], FlowBase, FuncArgJobBase[IsFuncFlowTemplate[_CallP, _RetT], IsFuncFlow[_CallP, _RetT], _CallP, _RetT], Generic[_CallP, _RetT]

Source code in src/omnipy/compute/flow.py
class FuncFlow(JobMixin[IsFuncFlowTemplate[_CallP, _RetT], IsFuncFlow[_CallP, _RetT], _CallP,
                        _RetT],
               FlowBase,
               FuncArgJobBase[IsFuncFlowTemplate[_CallP, _RetT],
                              IsFuncFlow[_CallP, _RetT],
                              _CallP,
                              _RetT],
               Generic[_CallP, _RetT]):
    def _apply_engine_decorator(self, engine: IsEngine) -> None:
        if self.engine:
            engine = cast(IsFuncFlowRunnerEngine, self.engine)
            self_with_mixins = cast(IsFuncFlow, self)
            engine.apply_func_flow_decorator(self_with_mixins, self._accept_call_func_decorator)

    @classmethod
    def _get_job_template_subcls_for_revise(cls) -> type[IsFuncFlowTemplate[_CallP, _RetT]]:
        return cast(type[IsFuncFlowTemplate[_CallP, _RetT]], FuncFlowTemplate)

HexdumpSyntaxLanguage

Bases: LiteralEnum[str]

ATTRIBUTE DESCRIPTION
HEXDUMP

TYPE: Literal['hexdump']

Literals

Source code in src/omnipy/shared/enums/display.py
class HexdumpSyntaxLanguage(LiteralEnum[str]):
    Literals = Literal['hexdump']

    HEXDUMP: Literal['hexdump'] = 'hexdump'

HEXDUMP class-attribute instance-attribute

HEXDUMP: Literal['hexdump'] = 'hexdump'

Literals class-attribute instance-attribute

Literals = Literal['hexdump']

HorizontalOverflowMode

Bases: LiteralEnum[str]

Horizontal overflow modes for the output. Horizontal overflow modes have no effect on layout panels.

The horizontal overflow modes are: - ELLIPSIS: Adds an ellipsis (...) at the end of the line if it exceeds the width. - CROP: Crops the line to fit within the width, without adding an ellipsis. - WRAP: Wraps the line to the next line if it exceeds the width, breaking according to the specified syntax language.

ATTRIBUTE DESCRIPTION
CROP

TYPE: Literal['crop']

ELLIPSIS

TYPE: Literal['ellipsis']

Literals

WRAP

TYPE: Literal['wrap']

Source code in src/omnipy/shared/enums/display.py
class HorizontalOverflowMode(LiteralEnum[str]):
    """
    Horizontal overflow modes for the output. Horizontal overflow modes have
    no effect on layout panels.

    The horizontal overflow modes are:
    - `ELLIPSIS`: Adds an ellipsis (...) at the end of the line if it
        exceeds the width.
    - `CROP`: Crops the line to fit within the width, without adding an
        ellipsis.
    - `WRAP`: Wraps the line to the next line if it exceeds the
        width, breaking according to the specified syntax language.
    """

    Literals = Literal['ellipsis', 'crop', 'wrap']

    ELLIPSIS: Literal['ellipsis'] = 'ellipsis'
    CROP: Literal['crop'] = 'crop'
    WRAP: Literal['wrap'] = 'wrap'

CROP class-attribute instance-attribute

CROP: Literal['crop'] = 'crop'

ELLIPSIS class-attribute instance-attribute

ELLIPSIS: Literal['ellipsis'] = 'ellipsis'

Literals class-attribute instance-attribute

Literals = Literal['ellipsis', 'crop', 'wrap']

WRAP class-attribute instance-attribute

WRAP: Literal['wrap'] = 'wrap'

HtmlPageOutputUserInterfaceType

Bases: BrowserPageUserInterfaceType

ATTRIBUTE DESCRIPTION
Literals

Source code in src/omnipy/shared/enums/ui.py
class HtmlPageOutputUserInterfaceType(BrowserPageUserInterfaceType):
    Literals = Literal[BrowserPageUserInterfaceType.Literals]

Literals class-attribute instance-attribute

HtmlTagOutputUserInterfaceType

Bases: JupyterInBrowserUserInterfaceType, BrowserTagUserInterfaceType

ATTRIBUTE DESCRIPTION
Literals

Source code in src/omnipy/shared/enums/ui.py
class HtmlTagOutputUserInterfaceType(
        JupyterInBrowserUserInterfaceType,
        BrowserTagUserInterfaceType,
):
    Literals = Literal[
        JupyterInBrowserUserInterfaceType.Literals,
        BrowserTagUserInterfaceType.Literals,
    ]

Literals class-attribute instance-attribute

HttpUrlDataset

Bases: Dataset[HttpUrlModel]

Source code in src/omnipy/components/remote/datasets.py
class HttpUrlDataset(Dataset[HttpUrlModel]):
    ...

HttpUrlModel

Bases: Model[UrlDataclassModel | str]

METHOD DESCRIPTION
to_data
Source code in src/omnipy/components/remote/models.py
class HttpUrlModel(Model[UrlDataclassModel | str]):
    if TYPE_CHECKING:

        def __new__(cls, *args: Any, **kwargs: Any) -> 'HttpUrlModel_UrlDataclassModel':
            ...

    @classmethod
    def _parse_data(cls, data: UrlDataclassModel | str) -> UrlDataclassModel:
        if data == '':
            data = 'http://localhost/'
        if data == 'https://':
            data = 'https://localhost/'
        # For validation only
        url_obj = pyd.Url(str(data) if isinstance(data, UrlDataclassModel) else data)

        parts: dict[str, str | int | None] = {}
        for key in UrlDataclassModel.__fields__.keys():
            match key:
                case 'scheme':
                    val = url_obj.scheme
                    assert val in {'http', 'https'}, f'Unsupported scheme: {val}'
                    parts[key] = val
                case 'host':
                    parts[key] = url_obj.unicode_host()
                case 'username' | 'password' | 'path' | 'fragment':
                    val = getattr(url_obj, key)
                    parts[key] = unquote(val) if val is not None else None
                case _:
                    parts[key] = getattr(url_obj, key)

        return UrlDataclassModel(**{
            key: val  # type: ignore[arg-type]
            for key, val in parts.items()
            if val is not None
        })

    def __add__(self, other: str) -> 'HttpUrlModel':
        return HttpUrlModel(str(self) + other)

    def to_data(self) -> str:
        return str(self.content)

    def __str__(self) -> str:
        return str(self.content)

to_data

to_data() -> str
Source code in src/omnipy/components/remote/models.py
def to_data(self) -> str:
    return str(self.content)

IpythonEmbeddedTerminalUserInterfaceType

Bases: LiteralEnum[str]

ATTRIBUTE DESCRIPTION
Literals

PYCHARM_IPYTHON

TYPE: Literal['pycharm_ipython']

Source code in src/omnipy/shared/enums/ui.py
class IpythonEmbeddedTerminalUserInterfaceType(LiteralEnum[str]):
    Literals = Literal['pycharm_ipython']

    PYCHARM_IPYTHON: Literal['pycharm_ipython'] = 'pycharm_ipython'
    f"""
    The console and/or terminal of the JetBrains PyCharm IDE running with
    the IPython interactive interpreter (REPL).
     {_IPYTHON_DESCRIPTION} {_PYCHARM_NOTE}
    """

Literals class-attribute instance-attribute

Literals = Literal['pycharm_ipython']

PYCHARM_IPYTHON class-attribute instance-attribute

PYCHARM_IPYTHON: Literal['pycharm_ipython'] = 'pycharm_ipython'

IpythonTerminalUserInterfaceType

Bases: IpythonEmbeddedTerminalUserInterfaceType, LiteralEnum[str]

ATTRIBUTE DESCRIPTION
IPYTHON

Same as TERMINAL, but running within the IPython interactive

TYPE: Literal['ipython']

Literals

Source code in src/omnipy/shared/enums/ui.py
class IpythonTerminalUserInterfaceType(IpythonEmbeddedTerminalUserInterfaceType, LiteralEnum[str]):
    Literals = Literal['ipython', IpythonEmbeddedTerminalUserInterfaceType.Literals]

    IPYTHON: Literal['ipython'] = 'ipython'
    """
    Same as `TERMINAL`, but running within the IPython interactive
    interpreter (REPL). The IPython interpreter is a more advanced
    interactive interpreter that provides additional features such as syntax
    highlighting, tab completion, and better error messages.
    """

IPYTHON class-attribute instance-attribute

IPYTHON: Literal['ipython'] = 'ipython'

Same as TERMINAL, but running within the IPython interactive interpreter (REPL). The IPython interpreter is a more advanced interactive interpreter that provides additional features such as syntax highlighting, tab completion, and better error messages.

Literals class-attribute instance-attribute

Literals = Literal['ipython', IpythonEmbeddedTerminalUserInterfaceType.Literals]

IsaAssayJsonModel

Bases: Model[IsaAssayJsonSchema]

Source code in src/omnipy/components/isa/models/assay_schema.py
class IsaAssayJsonModel(Model[IsaAssayJsonSchema]):
    ...

IsaCommentModel

Bases: Model[IsaCommentSchema]

Source code in src/omnipy/components/isa/models/comment_schema.py
class IsaCommentModel(Model[IsaCommentSchema]):
    ...

IsaDataModel

Bases: Model[IsaDataSchema]

Source code in src/omnipy/components/isa/models/data_schema.py
class IsaDataModel(Model[IsaDataSchema]):
    ...

IsaFactorModel

Bases: Model[IsaFactorSchema]

Source code in src/omnipy/components/isa/models/factor_schema.py
class IsaFactorModel(Model[IsaFactorSchema]):
    ...

IsaFactorValueModel

Bases: Model[IsaFactorValueSchema]

Source code in src/omnipy/components/isa/models/factor_value_schema.py
class IsaFactorValueModel(Model[IsaFactorValueSchema]):
    ...

IsaInvestigationModel

Bases: Model[IsaInvestigationSchema]

Source code in src/omnipy/components/isa/models/investigation_schema.py
class IsaInvestigationModel(Model[IsaInvestigationSchema]):
    ...

IsaJsonDataset

Bases: Dataset[IsaJsonModel]

Source code in src/omnipy/components/isa/datasets.py
class IsaJsonDataset(Dataset[IsaJsonModel]):
    ...

IsaJsonModel

Bases: Model[IsaInvestigationSchema | IsaTopLevelModel]

CLASS DESCRIPTION
Config
Source code in src/omnipy/components/isa/models/__init__.py
class IsaJsonModel(Model[IsaInvestigationSchema | IsaTopLevelModel]):
    class Config:
        smart_union = False

    @classmethod
    def _parse_data(cls, data: IsaInvestigationSchema | IsaTopLevelModel) -> IsaTopLevelModel:
        if isinstance(data, IsaTopLevelModel):
            return data
        else:
            return IsaTopLevelModel(investigation=data)

Config

ATTRIBUTE DESCRIPTION
smart_union

Source code in src/omnipy/components/isa/models/__init__.py
class Config:
    smart_union = False

smart_union class-attribute instance-attribute

smart_union = False

IsaMaterialAttributeModel

Bases: Model[IsaMaterialAttributeSchema]

Source code in src/omnipy/components/isa/models/material_attribute_schema.py
class IsaMaterialAttributeModel(Model[IsaMaterialAttributeSchema]):
    ...

IsaMaterialAttributeValueModel

Bases: Model[IsaMaterialAttributeValueSchema]

Source code in src/omnipy/components/isa/models/material_attribute_value_schema.py
class IsaMaterialAttributeValueModel(Model[IsaMaterialAttributeValueSchema]):
    ...

IsaMaterialModel

Bases: Model[IsaMaterialSchema]

Source code in src/omnipy/components/isa/models/material_schema.py
class IsaMaterialModel(Model[IsaMaterialSchema]):
    ...

IsaOntologyReferenceModel

Bases: Model[IsaOntologyReferenceSchema]

Source code in src/omnipy/components/isa/models/ontology_annotation_schema.py
class IsaOntologyReferenceModel(Model[IsaOntologyReferenceSchema]):
    ...

IsaOntologySourceReferenceModel

Bases: Model[IsaOntologySourceReferenceSchema]

Source code in src/omnipy/components/isa/models/ontology_source_reference_schema.py
class IsaOntologySourceReferenceModel(Model[IsaOntologySourceReferenceSchema]):
    ...

IsaOrganizationModel

Bases: Model[IsaOrganizationSchema]

Source code in src/omnipy/components/isa/models/organization_schema.py
class IsaOrganizationModel(Model[IsaOrganizationSchema]):
    ...

IsaPersonModel

Bases: Model[IsaPersonSchema]

Source code in src/omnipy/components/isa/models/person_schema.py
class IsaPersonModel(Model[IsaPersonSchema]):
    ...

IsaProcessOrProtocolApplicationModel

Bases: Model[IsaProcessOrProtocolApplicationSchema]

Source code in src/omnipy/components/isa/models/process_schema.py
class IsaProcessOrProtocolApplicationModel(Model[IsaProcessOrProtocolApplicationSchema]):
    ...

IsaProcessParameterValueModel

Bases: Model[IsaProcessParameterValueSchema]

Source code in src/omnipy/components/isa/models/process_parameter_value_schema.py
class IsaProcessParameterValueModel(Model[IsaProcessParameterValueSchema]):
    ...

IsaProtocolModel

Bases: Model[IsaProtocolSchema]

Source code in src/omnipy/components/isa/models/protocol_schema.py
class IsaProtocolModel(Model[IsaProtocolSchema]):
    ...

IsaProtocolParameterModel

Bases: Model[IsaProtocolParameterSchema]

Source code in src/omnipy/components/isa/models/protocol_parameter_schema.py
class IsaProtocolParameterModel(Model[IsaProtocolParameterSchema]):
    ...

IsaPublicationModel

Bases: Model[IsaPublicationSchema]

Source code in src/omnipy/components/isa/models/publication_schema.py
class IsaPublicationModel(Model[IsaPublicationSchema]):
    ...

IsaSampleModel

Bases: Model[IsaSampleSchema]

Source code in src/omnipy/components/isa/models/sample_schema.py
class IsaSampleModel(Model[IsaSampleSchema]):
    ...

IsaSourceModel

Bases: Model[IsaSourceSchema]

Source code in src/omnipy/components/isa/models/source_schema.py
class IsaSourceModel(Model[IsaSourceSchema]):
    ...

IsaStudyGroupModel

Bases: Model[IsaStudyGroupSchema]

Source code in src/omnipy/components/isa/models/study_group.py
class IsaStudyGroupModel(Model[IsaStudyGroupSchema]):
    ...

IsaStudyModel

Bases: Model[IsaStudySchema]

Source code in src/omnipy/components/isa/models/study_schema.py
class IsaStudyModel(Model[IsaStudySchema]):
    ...

IsaTopLevelModel

Bases: Model[IsaTopLevelSchema]

Source code in src/omnipy/components/isa/models/__init__.py
class IsaTopLevelModel(Model[IsaTopLevelSchema]):
    ...

IteratingPydanticRecordsModel

Bases: _ColumnWiseTableWithColNamesMixin, PydanticRecordModelBase[_PydBaseModelT, _ColumnWiseTableModelT, RowWiseTableModel], PrintableTable, Generic[_PydBaseModelT, _ColumnWiseTableModelT, _ColumnModelT, _ColumnModelItemT]

Source code in src/omnipy/components/tables/models.py
class IteratingPydanticRecordsModel(
        _ColumnWiseTableWithColNamesMixin,
        PydanticRecordModelBase[
            _PydBaseModelT,
            _ColumnWiseTableModelT,
            RowWiseTableModel,
        ],
        PrintableTable,
        Generic[_PydBaseModelT, _ColumnWiseTableModelT, _ColumnModelT, _ColumnModelItemT],
):
    @classmethod
    def _validate_over_all_rows(
        cls,
        input_model: ColumnWiseTableWithColNamesModel | RowWiseTableModel,
        output_model: ColumnWiseTableWithColNamesModel,
        pyd_model: type[pyd.BaseModel],
        to_row_dict_func: Callable[[_ColumnModelT], dict[str, JsonScalar]] | None = None,
    ):
        new_cols = set()

        def _init_col(
            content: dict[str, _ColumnModelT],
            pyd_model: type[pyd.BaseModel],
            key: str,
        ) -> None:
            if key in new_cols:
                return

            col_len: int = len(input_model)
            # if key not in content:
            content[key] = [pyd_model.__fields__[key].get_default()] * col_len
            # else:
            #     assert len(content[key]) == col_len, \
            #         (f'Incorrect number of rows in {key} column: '
            #          f'{len(content[key])} != {col_len}')
            #     content[key] = [_ for _ in content[key]]

            new_cols.add(key)

        content = output_model.content
        # content = output_model
        for key, field in pyd_model.__fields__.items():
            if field.required and key not in content:
                _init_col(content, pyd_model, key)

        for i, row in enumerate(input_model):
            row_dict = to_row_dict_func(row) if to_row_dict_func else row
            values, _fields_set, error = pyd.validate_model(pyd_model, row_dict)
            if error:
                raise error

            for key, validated_val in values.items():
                if key not in content:
                    _init_col(content, pyd_model, key)

                if key in new_cols:
                    is_changed_val = True
                else:
                    is_changed_val = row_dict[key] != validated_val
                    # else:
                    #     is_changed_val = True

                if is_changed_val:
                    try:
                        _, prepared_val = prepare_value_for_validation_if_dataset_or_model(
                            validated_val)
                        content[key][i] = prepared_val
                    except (TypeError, AssertionError, ValueError, ValidationError):
                        _init_col(content, pyd_model, key)
                        content[key][i] = prepared_val
        output_model.validate_content()

    @override
    @classmethod
    def _validate_record_model_with_col_names(
        cls,
        pyd_model: type[pyd.BaseModel],
        data: ColumnWiseTableWithColNamesModel,
        header_names: tuple[str, ...],
    ) -> pyd.BaseModel | ColumnWiseTableWithColNamesModel:
        cls._validate_over_all_rows(input_model=data, output_model=data, pyd_model=pyd_model)
        return data

    @override
    @classmethod
    def _validate_record_model_without_col_names(
        cls,
        pyd_model: type[pyd.BaseModel],
        data: RowWiseTableModel,
        data_type: type[_DataWithColNamesModelT],
        header_names: tuple[str, ...],
    ) -> pyd.BaseModel | ColumnWiseTableWithColNamesModel:
        output = data_type()
        cls._validate_over_all_rows(
            input_model=data,
            output_model=output,
            pyd_model=pyd_model,
            to_row_dict_func=lambda row: dict(zip(header_names, row)),
        )
        return output

JoinColumnsByCommaToLinesModel

Bases: _JoinByCommaParamsMixin, JoinSubitemsToItemsModelBase

ATTRIBUTE DESCRIPTION
adjust

Source code in src/omnipy/components/raw/models.py
class JoinColumnsByCommaToLinesModel(_JoinByCommaParamsMixin, JoinSubitemsToItemsModelBase):
    adjust = bind_adjust_model_func(
        JoinSubitemsToItemsModelBase.clone_model_cls,
        _JoinByCommaParamsMixin.Params,
    )

adjust class-attribute instance-attribute

adjust = bind_adjust_model_func(
    JoinSubitemsToItemsModelBase.clone_model_cls, _JoinByCommaParamsMixin.Params
)

JoinColumnsToLinesDataset

Bases: _JoinSubitemsToItemsDataset[JoinColumnsToLinesModel]

ATTRIBUTE DESCRIPTION
adjust

Source code in src/omnipy/components/raw/datasets.py
class JoinColumnsToLinesDataset(_JoinSubitemsToItemsDataset[JoinColumnsToLinesModel]):
    adjust = bind_adjust_dataset_func(
        _JoinSubitemsToItemsDataset[JoinColumnsToLinesModel].clone_dataset_cls,
        JoinColumnsToLinesModel,
        JoinColumnsToLinesModel.Params,
    )

adjust class-attribute instance-attribute

adjust = bind_adjust_dataset_func(
    _JoinSubitemsToItemsDataset[JoinColumnsToLinesModel].clone_dataset_cls,
    JoinColumnsToLinesModel,
    JoinColumnsToLinesModel.Params,
)

JoinColumnsToLinesModel

Bases: _JoinByTabParamsMixin, JoinSubitemsToItemsModelBase

ATTRIBUTE DESCRIPTION
adjust

Source code in src/omnipy/components/raw/models.py
class JoinColumnsToLinesModel(_JoinByTabParamsMixin, JoinSubitemsToItemsModelBase):
    adjust = bind_adjust_model_func(
        JoinSubitemsToItemsModelBase.clone_model_cls,
        _JoinByTabParamsMixin.Params,
    )

adjust class-attribute instance-attribute

adjust = bind_adjust_model_func(
    JoinSubitemsToItemsModelBase.clone_model_cls, _JoinByTabParamsMixin.Params
)

JoinItemsDataset

Bases: _JoinItemsDataset[JoinItemsModel]

ATTRIBUTE DESCRIPTION
adjust

Source code in src/omnipy/components/raw/datasets.py
class JoinItemsDataset(_JoinItemsDataset[JoinItemsModel]):
    adjust = bind_adjust_dataset_func(
        _JoinItemsDataset[JoinItemsModel].clone_dataset_cls,
        JoinItemsModel,
        JoinItemsModel.Params,
    )

adjust class-attribute instance-attribute

adjust = bind_adjust_dataset_func(
    _JoinItemsDataset[JoinItemsModel].clone_dataset_cls, JoinItemsModel, JoinItemsModel.Params
)

JoinItemsModel

Bases: _JoinByCommaParamsMixin, JoinItemsModelBase

ATTRIBUTE DESCRIPTION
adjust

Source code in src/omnipy/components/raw/models.py
class JoinItemsModel(_JoinByCommaParamsMixin, JoinItemsModelBase):
    adjust = bind_adjust_model_func(
        JoinItemsModelBase.clone_model_cls,
        _JoinByCommaParamsMixin.Params,
    )

adjust class-attribute instance-attribute

adjust = bind_adjust_model_func(JoinItemsModelBase.clone_model_cls, _JoinByCommaParamsMixin.Params)

JoinLinesDataset

Bases: _JoinItemsDataset[JoinLinesModel]

ATTRIBUTE DESCRIPTION
adjust

Source code in src/omnipy/components/raw/datasets.py
class JoinLinesDataset(_JoinItemsDataset[JoinLinesModel]):
    adjust = bind_adjust_dataset_func(
        _JoinItemsDataset[JoinLinesModel].clone_dataset_cls,
        JoinLinesModel,
        JoinLinesModel.Params,
    )

adjust class-attribute instance-attribute

adjust = bind_adjust_dataset_func(
    _JoinItemsDataset[JoinLinesModel].clone_dataset_cls, JoinLinesModel, JoinLinesModel.Params
)

JoinLinesModel

Bases: _JoinByNewlineParamsMixin, JoinItemsModelBase

ATTRIBUTE DESCRIPTION
adjust

Source code in src/omnipy/components/raw/models.py
class JoinLinesModel(_JoinByNewlineParamsMixin, JoinItemsModelBase):
    adjust = bind_adjust_model_func(
        JoinItemsModelBase.clone_model_cls,
        _JoinByNewlineParamsMixin.Params,
    )

adjust class-attribute instance-attribute

adjust = bind_adjust_model_func(
    JoinItemsModelBase.clone_model_cls, _JoinByNewlineParamsMixin.Params
)

JsonCustomDictModel

Bases: Model[_JsonDictM[_JsonBaseT]], Generic[_JsonBaseT]

Source code in src/omnipy/components/json/models.py
class JsonCustomDictModel(Model[_JsonDictM[_JsonBaseT]], Generic[_JsonBaseT]):
    ...

JsonCustomListModel

Bases: Model[_JsonListM[_JsonBaseT]], Generic[_JsonBaseT]

Source code in src/omnipy/components/json/models.py
class JsonCustomListModel(Model[_JsonListM[_JsonBaseT]], Generic[_JsonBaseT]):
    ...

JsonDataset

Bases: JsonBaseDataset[JsonModel]

Source code in src/omnipy/components/json/datasets.py
class JsonDataset(JsonBaseDataset[JsonModel]):
    """"""
    ...

JsonDictDataset

Bases: JsonBaseDataset[JsonDictModel]

Source code in src/omnipy/components/json/datasets.py
class JsonDictDataset(JsonBaseDataset[JsonDictModel]):
    ...

JsonDictModel

Bases: Model[_JsonAnyDictM]

JsonDictModel is a limited JSON model supporting only JSON content that has a dict (or "object" in JSON nomenclature) at the root. The values of the top-level dict can be any JSON content, though, any levels deep.

Examples:

>>> my_json = JsonDictModel({'a': None, 'b': [1, 12.5, {'abc': 123}]})
>>> my_json.to_data()
{'a': None, 'b': [1, 12.5, {'abc': 123}]}
>>> my_json.to_json()
'{"a": null, "b": [1, 12.5, {"abc": 123}]}'
>>> print(my_json.to_json(pretty=True))
{
  "a": null,
  "b": [
    1,
    12.5,
    {
      "abc": 123
    }
  ]
}
>>> try:
...     my_json = JsonDictModel([True, {'a': None, 'b': [1, 12.5, 'abc']}])
... except Exception as e:
...     print(str(e).splitlines()[0])
3 validation errors for JsonDictModel
Source code in src/omnipy/components/json/models.py
class JsonDictModel(Model[_JsonAnyDictM]):
    """
    JsonDictModel is a limited JSON model supporting only JSON content
    that has a dict (or "object" in JSON nomenclature) at the root.
    The values of the top-level dict can be any JSON content, though,
    any levels deep.

    Examples:
        >>> my_json = JsonDictModel({'a': None, 'b': [1, 12.5, {'abc': 123}]})
        >>> my_json.to_data()
        {'a': None, 'b': [1, 12.5, {'abc': 123}]}
        >>> my_json.to_json()
        '{"a": null, "b": [1, 12.5, {"abc": 123}]}'
        >>> print(my_json.to_json(pretty=True))
        {
          "a": null,
          "b": [
            1,
            12.5,
            {
              "abc": 123
            }
          ]
        }
        >>> try:
        ...     my_json = JsonDictModel([True, {'a': None, 'b': [1, 12.5, 'abc']}])
        ... except Exception as e:
        ...     print(str(e).splitlines()[0])
        3 validation errors for JsonDictModel
    """

JsonDictOfDictsDataset

Bases: JsonBaseDataset[JsonDictOfDictsModel]

Source code in src/omnipy/components/json/datasets.py
class JsonDictOfDictsDataset(JsonBaseDataset[JsonDictOfDictsModel]):
    ...

JsonDictOfDictsModel

Bases: Model[_JsonDictM[_JsonAnyDictM]]

Source code in src/omnipy/components/json/models.py
class JsonDictOfDictsModel(Model[_JsonDictM[_JsonAnyDictM]]):
    ...

JsonDictOfDictsOfScalarsDataset

Bases: JsonBaseDataset[JsonDictOfDictsOfScalarsModel]

Source code in src/omnipy/components/json/datasets.py
class JsonDictOfDictsOfScalarsDataset(JsonBaseDataset[JsonDictOfDictsOfScalarsModel]):
    ...

JsonDictOfDictsOfScalarsModel

Bases: Model[_JsonDictM[_JsonDictOfScalars]]

Source code in src/omnipy/components/json/models.py
class JsonDictOfDictsOfScalarsModel(Model[_JsonDictM[_JsonDictOfScalars]]):
    ...

JsonDictOfListsDataset

Bases: JsonBaseDataset[JsonDictOfListsModel]

Source code in src/omnipy/components/json/datasets.py
class JsonDictOfListsDataset(JsonBaseDataset[JsonDictOfListsModel]):
    ...

JsonDictOfListsModel

Bases: Model[_JsonDictM[_JsonAnyListM]]

Source code in src/omnipy/components/json/models.py
class JsonDictOfListsModel(Model[_JsonDictM[_JsonAnyListM]]):
    ...

JsonDictOfListsOfDictsDataset

Bases: JsonBaseDataset[JsonDictOfListsOfDictsModel]

Source code in src/omnipy/components/json/datasets.py
class JsonDictOfListsOfDictsDataset(JsonBaseDataset[JsonDictOfListsOfDictsModel]):
    ...

JsonDictOfListsOfDictsModel

Bases: Model[_JsonDictM[_JsonListM[_JsonAnyDictM]]]

Source code in src/omnipy/components/json/models.py
class JsonDictOfListsOfDictsModel(Model[_JsonDictM[_JsonListM[_JsonAnyDictM]]]):
    ...

JsonDictOfListsOfScalarsDataset

Bases: JsonBaseDataset[JsonDictOfListsOfScalarsModel]

Source code in src/omnipy/components/json/datasets.py
class JsonDictOfListsOfScalarsDataset(JsonBaseDataset[JsonDictOfListsOfScalarsModel]):
    ...

JsonDictOfListsOfScalarsModel

Bases: Model[_JsonDictM[_JsonListOfScalars]]

Source code in src/omnipy/components/json/models.py
class JsonDictOfListsOfScalarsModel(Model[_JsonDictM[_JsonListOfScalars]]):
    ...

JsonDictOfNestedListsDataset

Bases: JsonBaseDataset[JsonDictOfNestedListsModel]

Source code in src/omnipy/components/json/datasets.py
class JsonDictOfNestedListsDataset(JsonBaseDataset[JsonDictOfNestedListsModel]):
    ...

JsonDictOfNestedListsModel

Bases: Model[_JsonDictM[_JsonNestedListsM]]

Source code in src/omnipy/components/json/models.py
class JsonDictOfNestedListsModel(Model[_JsonDictM[_JsonNestedListsM]]):
    ...

JsonDictOfScalarsDataset

Bases: JsonBaseDataset[JsonDictOfScalarsModel]

Source code in src/omnipy/components/json/datasets.py
class JsonDictOfScalarsDataset(JsonBaseDataset[JsonDictOfScalarsModel]):
    ...

JsonDictOfScalarsModel

Bases: Model[_JsonDictOfScalars]

Source code in src/omnipy/components/json/models.py
class JsonDictOfScalarsModel(Model[_JsonDictOfScalars]):
    ...

JsonListDataset

Bases: JsonBaseDataset[JsonListModel]

Source code in src/omnipy/components/json/datasets.py
class JsonListDataset(JsonBaseDataset[JsonListModel]):
    """"""
    ...

JsonListModel

Bases: Model[_JsonAnyListM]

JsonListModel is a limited JSON model supporting only JSON content that has a list (or "array" in JSON nomenclature) at the root. The content of the top-level list can be any JSON content, though, any levels deep.

Examples:

>>> my_json = JsonListModel([True, {'a': None, 'b': [1, 12.5, 'abc']}])
>>> my_json.to_data()
[True, {'a': None, 'b': [1, 12.5, 'abc']}]
>>> my_json.to_json()
'[true, {"a": null, "b": [1, 12.5, "abc"]}]'
>>> print(my_json.to_json(pretty=True))
[
  true,
  {
    "a": null,
    "b": [
      1,
      12.5,
      "abc"
    ]
  }
]
>>> try:
...     my_json = JsonListModel({'a': None, 'b': [1, 12.5, {'abc': 123}]})
... except Exception as e:
...     print(str(e).splitlines()[0])
3 validation errors for JsonListModel
Source code in src/omnipy/components/json/models.py
class JsonListModel(Model[_JsonAnyListM]):
    """
    JsonListModel is a limited JSON model supporting only JSON content
    that has a list (or "array" in JSON nomenclature) at the root. The
    content of the top-level list can be any JSON content, though, any
    levels deep.

    Examples:
        >>> my_json = JsonListModel([True, {'a': None, 'b': [1, 12.5, 'abc']}])
        >>> my_json.to_data()
        [True, {'a': None, 'b': [1, 12.5, 'abc']}]
        >>> my_json.to_json()
        '[true, {"a": null, "b": [1, 12.5, "abc"]}]'
        >>> print(my_json.to_json(pretty=True))
        [
          true,
          {
            "a": null,
            "b": [
              1,
              12.5,
              "abc"
            ]
          }
        ]
        >>> try:
        ...     my_json = JsonListModel({'a': None, 'b': [1, 12.5, {'abc': 123}]})
        ... except Exception as e:
        ...     print(str(e).splitlines()[0])
        3 validation errors for JsonListModel
    """

JsonListOfDictsDataset

Bases: JsonBaseDataset[JsonListOfDictsModel]

Source code in src/omnipy/components/json/datasets.py
class JsonListOfDictsDataset(JsonBaseDataset[JsonListOfDictsModel]):
    """"""
    ...

JsonListOfDictsModel

Bases: Model[_JsonListM[_JsonAnyDictM]]

Source code in src/omnipy/components/json/models.py
class JsonListOfDictsModel(Model[_JsonListM[_JsonAnyDictM]]):
    ...

JsonListOfDictsOfScalarsDataset

Bases: JsonBaseDataset[JsonListOfDictsOfScalarsModel]

Source code in src/omnipy/components/json/datasets.py
class JsonListOfDictsOfScalarsDataset(JsonBaseDataset[JsonListOfDictsOfScalarsModel]):
    """"""
    ...

JsonListOfDictsOfScalarsModel

Bases: Model[_JsonListM[_JsonDictOfScalars]]

Source code in src/omnipy/components/json/models.py
class JsonListOfDictsOfScalarsModel(Model[_JsonListM[_JsonDictOfScalars]]):
    ...

JsonListOfListsDataset

Bases: JsonBaseDataset[JsonListOfListsModel]

Source code in src/omnipy/components/json/datasets.py
class JsonListOfListsDataset(JsonBaseDataset[JsonListOfListsModel]):
    """"""
    ...

JsonListOfListsModel

Bases: Model[_JsonListM[_JsonAnyListM]]

Source code in src/omnipy/components/json/models.py
class JsonListOfListsModel(Model[_JsonListM[_JsonAnyListM]]):
    ...

JsonListOfListsOfScalarsDataset

Bases: JsonBaseDataset[JsonListOfListsOfScalarsModel]

Source code in src/omnipy/components/json/datasets.py
class JsonListOfListsOfScalarsDataset(JsonBaseDataset[JsonListOfListsOfScalarsModel]):
    """"""
    ...

JsonListOfListsOfScalarsModel

Bases: Model[_JsonListM[_JsonListOfScalars]]

Source code in src/omnipy/components/json/models.py
class JsonListOfListsOfScalarsModel(Model[_JsonListM[_JsonListOfScalars]]):
    ...

JsonListOfNestedDictsDataset

Bases: JsonBaseDataset[JsonListOfNestedDictsModel]

Source code in src/omnipy/components/json/datasets.py
class JsonListOfNestedDictsDataset(JsonBaseDataset[JsonListOfNestedDictsModel]):
    ...

JsonListOfNestedDictsModel

Bases: Model[_JsonListM[_JsonNestedDictsM]]

Source code in src/omnipy/components/json/models.py
class JsonListOfNestedDictsModel(Model[_JsonListM[_JsonNestedDictsM]]):
    ...

JsonListOfScalarsDataset

Bases: JsonBaseDataset[JsonListOfScalarsModel]

Source code in src/omnipy/components/json/datasets.py
class JsonListOfScalarsDataset(JsonBaseDataset[JsonListOfScalarsModel]):
    """"""
    ...

JsonListOfScalarsModel

Bases: Model[_JsonListOfScalars]

Source code in src/omnipy/components/json/models.py
class JsonListOfScalarsModel(Model[_JsonListOfScalars]):
    ...

JsonListOrDictDataset

Bases: JsonBaseDataset[JsonListOrDictModel]

Source code in src/omnipy/components/json/datasets.py
class JsonListOrDictDataset(JsonBaseDataset[JsonListOrDictModel]):
    """"""
    ...

JsonListOrDictModel

Bases: ParseStrAsJsonMixin[_JsonListOfDictUnion], Model[_JsonListOfDictUnion]

JsonListOrDictModel is a general JSON model supporting any JSON content except scalar data.

Examples:

>>> my_json = JsonListOrDictModel([True, {'a': None, 'b': [1, 12.5, 'abc']}])
>>> my_json.to_data()
[True, {'a': None, 'b': [1, 12.5, 'abc']}]
>>> my_json.to_json()
'[true, {"a": null, "b": [1, 12.5, "abc"]}]'
>>> print(my_json.to_json(pretty=True))
[
  true,
  {
    "a": null,
    "b": [
      1,
      12.5,
      "abc"
    ]
  }
]
>>> try:
...     my_json = JsonListOrDictModel(123)  # scalars not supported
... except Exception as e:
...     print(str(e).splitlines()[0])
34 validation errors for JsonListOrDictModel
METHOD DESCRIPTION
start_chars_for_json_content
Source code in src/omnipy/components/json/models.py
class JsonListOrDictModel(ParseStrAsJsonMixin[_JsonListOfDictUnion], Model[_JsonListOfDictUnion]):
    """JsonListOrDictModel is a general JSON model supporting any JSON
    content except scalar data.

    Examples:
        >>> my_json = JsonListOrDictModel([True, {'a': None, 'b': [1, 12.5, 'abc']}])
        >>> my_json.to_data()
        [True, {'a': None, 'b': [1, 12.5, 'abc']}]
        >>> my_json.to_json()
        '[true, {"a": null, "b": [1, 12.5, "abc"]}]'
        >>> print(my_json.to_json(pretty=True))
        [
          true,
          {
            "a": null,
            "b": [
              1,
              12.5,
              "abc"
            ]
          }
        ]
        >>> try:
        ...     my_json = JsonListOrDictModel(123)  # scalars not supported
        ... except Exception as e:
        ...     print(str(e).splitlines()[0])
        34 validation errors for JsonListOrDictModel
    """
    @classmethod
    def start_chars_for_json_content(cls) -> str:
        return '[{'

    if TYPE_CHECKING and TYPE_CHECKER != 'mypy':

        @overload
        def __new__(cls, value: IsList | _JsonAnyListM) -> _JsonAnyListM:
            ...

        @overload
        def __new__(cls, value: IsDict | _JsonAnyDictM) -> _JsonAnyDictM:
            ...

        @overload
        def __new__(cls, value: IsStr | object) -> AnyJsonListOrDictModel:
            ...

        def __new__(cls, value: _JsonListOrDictContent | object) -> AnyJsonListOrDictModel:
            ...

start_chars_for_json_content classmethod

start_chars_for_json_content() -> str
Source code in src/omnipy/components/json/models.py
@classmethod
def start_chars_for_json_content(cls) -> str:
    return '[{'

JsonModel

Bases: ParseStrAsJsonMixin[_JsonAnyUnion], Model[_JsonAnyUnion]

JsonModel is a general JSON model supporting any JSON content, any levels deep.

Examples:

>>> my_int_json = JsonModel(123)
>>> my_int_json.to_data()
123
>>> my_int_json.to_json()
'123'
>>> my_json = JsonModel([True, {'a': None, 'b': [1, 12.5, 'abc']}])
>>> my_json.to_data()
[True, {'a': None, 'b': [1, 12.5, 'abc']}]
>>> my_json.to_json()
'[true, {"a": null, "b": [1, 12.5, "abc"]}]'
>>> print(my_json.to_json(pretty=True))
[
  true,
  {
    "a": null,
    "b": [
      1,
      12.5,
      "abc"
    ]
  }
]
>>> try:
...     my_json = JsonModel([{'a': [1, 2, 1+2j]}])  # nested complex number
... except Exception as e:
...     print(str(e).splitlines()[0])
34 validation errors for JsonModel
Source code in src/omnipy/components/json/models.py
class JsonModel(ParseStrAsJsonMixin[_JsonAnyUnion], Model[_JsonAnyUnion]):
    """
    JsonModel is a general JSON model supporting any JSON content, any
    levels deep.

    Examples:
        >>> my_int_json = JsonModel(123)
        >>> my_int_json.to_data()
        123
        >>> my_int_json.to_json()
        '123'
        >>> my_json = JsonModel([True, {'a': None, 'b': [1, 12.5, 'abc']}])
        >>> my_json.to_data()
        [True, {'a': None, 'b': [1, 12.5, 'abc']}]
        >>> my_json.to_json()
        '[true, {"a": null, "b": [1, 12.5, "abc"]}]'
        >>> print(my_json.to_json(pretty=True))
        [
          true,
          {
            "a": null,
            "b": [
              1,
              12.5,
              "abc"
            ]
          }
        ]
        >>> try:
        ...     my_json = JsonModel([{'a': [1, 2, 1+2j]}])  # nested complex number
        ... except Exception as e:
        ...     print(str(e).splitlines()[0])
        34 validation errors for JsonModel
    """

    if TYPE_CHECKING and TYPE_CHECKER != 'mypy':

        @overload
        def __new__(cls, value: None) -> Model[None]:
            ...

        @overload
        def __new__(cls, value: IsBool) -> Model_bool:  # pyright: ignore[reportOverlappingOverload]
            ...

        @overload
        def __new__(cls, value: IsInt) -> Model_int:
            ...

        @overload
        def __new__(cls, value: IsFloat) -> Model_float:
            ...

        @overload
        def __new__(cls, value: IsList | _JsonAnyListM) -> _JsonAnyListM:
            ...

        @overload
        def __new__(cls, value: IsDict | _JsonAnyDictM) -> _JsonAnyDictM:
            ...

        @overload
        def __new__(cls, value: IsStr | object) -> AnyJsonModel:
            ...

        def __new__(cls, value: _JsonAnyUnionContent | object) -> AnyJsonModel:
            ...

JsonNestedDictsDataset

Bases: JsonBaseDataset[JsonNestedDictsModel]

Source code in src/omnipy/components/json/datasets.py
class JsonNestedDictsDataset(JsonBaseDataset[JsonNestedDictsModel]):
    ...

JsonNestedDictsModel

Bases: Model[_JsonNestedDictsM]

Source code in src/omnipy/components/json/models.py
class JsonNestedDictsModel(Model[_JsonNestedDictsM]):
    ...

JsonNestedListsDataset

Bases: JsonBaseDataset[JsonNestedListsModel]

Source code in src/omnipy/components/json/datasets.py
class JsonNestedListsDataset(JsonBaseDataset[JsonNestedListsModel]):
    ...

JsonNestedListsModel

Bases: Model[_JsonNestedListsM]

Source code in src/omnipy/components/json/models.py
class JsonNestedListsModel(Model[_JsonNestedListsM]):
    ...

JsonOnlyDictsDataset

Bases: JsonBaseDataset[JsonOnlyDictsModel]

Source code in src/omnipy/components/json/datasets.py
class JsonOnlyDictsDataset(JsonBaseDataset[JsonOnlyDictsModel]):
    ...

JsonOnlyDictsModel

Bases: Model[_JsonOnlyDictsUnion]

Source code in src/omnipy/components/json/models.py
class JsonOnlyDictsModel(Model[_JsonOnlyDictsUnion]):
    if TYPE_CHECKING and TYPE_CHECKER != 'mypy':

        @overload
        def __new__(cls, value: None) -> Model[None]:
            ...

        @overload
        def __new__(cls, value: IsBool) -> Model_bool:  # pyright: ignore[reportOverlappingOverload]
            ...

        @overload
        def __new__(cls, value: IsInt) -> Model_int:
            ...

        @overload
        def __new__(cls, value: IsFloat) -> Model_float:
            ...

        @overload
        def __new__(cls, value: IsStr) -> Model_str:
            ...

        @overload
        def __new__(cls, value: IsDict | _JsonNestedDictsM) -> _JsonNestedDictsM:
            ...

        @overload
        def __new__(cls, value: object) -> AnyJsonOnlyDictsModel:
            ...

        def __new__(cls, value: _JsonOnlyDictsUnionContent | object) -> AnyJsonOnlyDictsModel:
            ...

JsonOnlyListsDataset

Bases: JsonBaseDataset[JsonOnlyListsModel]

Source code in src/omnipy/components/json/datasets.py
class JsonOnlyListsDataset(JsonBaseDataset[JsonOnlyListsModel]):
    ...

JsonOnlyListsModel

Bases: Model[_JsonOnlyListsUnion]

Source code in src/omnipy/components/json/models.py
class JsonOnlyListsModel(Model[_JsonOnlyListsUnion]):
    if TYPE_CHECKING and TYPE_CHECKER != 'mypy':

        @overload
        def __new__(cls, value: None) -> Model[None]:
            ...

        @overload
        def __new__(cls, value: IsBool) -> Model_bool:  # pyright: ignore[reportOverlappingOverload]
            ...

        @overload
        def __new__(cls, value: IsInt) -> Model_int:
            ...

        @overload
        def __new__(cls, value: IsFloat) -> Model_float:
            ...

        @overload
        def __new__(cls, value: IsStr) -> Model_str:
            ...

        @overload
        def __new__(cls, value: IsList | _JsonNestedListsM) -> _JsonNestedListsM:
            ...

        @overload
        def __new__(cls, value: object) -> AnyJsonOnlyListsModel:
            ...

        def __new__(cls, value: _JsonOnlyListsUnionContent | object) -> AnyJsonOnlyListsModel:
            ...

JsonScalarDataset

Bases: JsonBaseDataset[JsonScalarModel]

Source code in src/omnipy/components/json/datasets.py
class JsonScalarDataset(JsonBaseDataset[JsonScalarModel]):
    """"""
    ...

JsonScalarModel

Bases: Model[JsonScalar]

JsonScalarModel is a limited JSON model supporting only scalar JSON content, e.g. the basic types: None, int, float, str, and bool. Lists and dicts (or "objects") are not supported.

Examples:

>>> my_none = JsonScalarModel(None)
>>> my_none.to_data(), my_none.to_json()
(None, 'null')
>>> my_int = JsonScalarModel(123)
>>> my_int.to_data(), my_int.to_json()
(123, '123')
>>> my_float = JsonScalarModel(12.3)
>>> my_float.to_data(), my_float.to_json()
(12.3, '12.3')
>>> my_str = JsonScalarModel('abc')
>>> my_str.to_data(), my_str.to_json()
(abc, '"abc"')
>>> my_bool = JsonScalarModel(False)
>>> my_bool.to_data(), my_bool.to_json()
(False, '"false"')
>>> try:
...     my_json = JsonScalarModel([123])
... except Exception as e:
...     print(str(e).splitlines()[0])
6 validation errors for JsonScalarModel
Source code in src/omnipy/components/json/models.py
class JsonScalarModel(Model[JsonScalar]):
    """
    JsonScalarModel is a limited JSON model supporting only scalar JSON
    content, e.g. the basic types: `None`, `int`, `float`, `str`, and
    `bool`. Lists and dicts (or "objects") are not supported.

    Examples:
        >>> my_none = JsonScalarModel(None)
        >>> my_none.to_data(), my_none.to_json()
        (None, 'null')
        >>> my_int = JsonScalarModel(123)
        >>> my_int.to_data(), my_int.to_json()
        (123, '123')
        >>> my_float = JsonScalarModel(12.3)
        >>> my_float.to_data(), my_float.to_json()
        (12.3, '12.3')
        >>> my_str = JsonScalarModel('abc')
        >>> my_str.to_data(), my_str.to_json()
        (abc, '"abc"')
        >>> my_bool = JsonScalarModel(False)
        >>> my_bool.to_data(), my_bool.to_json()
        (False, '"false"')
        >>> try:
        ...     my_json = JsonScalarModel([123])
        ... except Exception as e:
        ...     print(str(e).splitlines()[0])
        6 validation errors for JsonScalarModel
    """

    if TYPE_CHECKING and TYPE_CHECKER != 'mypy':

        @overload
        def __new__(cls, value: None) -> Model[None]:
            ...

        @overload
        def __new__(cls, value: IsBool) -> Model_bool:  # pyright: ignore[reportOverlappingOverload]
            ...

        @overload
        def __new__(cls, value: IsInt) -> Model_int:
            ...

        @overload
        def __new__(cls, value: IsFloat) -> Model_float:
            ...

        @overload
        def __new__(cls, value: IsStr) -> Model_str:
            ...

        @overload
        def __new__(cls, value: object) -> AnyJsonScalarModel:
            ...

        def __new__(cls, value: JsonScalar | object) -> AnyJsonScalarModel:
            ...

JsonSyntaxLanguage

Bases: LiteralEnum[str]

ATTRIBUTE DESCRIPTION
JSON

TYPE: Literal['json']

JSON5

TYPE: Literal['json5']

JSON_LD

TYPE: Literal['json-ld']

Literals

Source code in src/omnipy/shared/enums/display.py
class JsonSyntaxLanguage(LiteralEnum[str]):
    Literals = Literal['json', 'json5', 'json-ld']

    JSON: Literal['json'] = 'json'
    JSON5: Literal['json5'] = 'json5'
    JSON_LD: Literal['json-ld'] = 'json-ld'

JSON class-attribute instance-attribute

JSON: Literal['json'] = 'json'

JSON5 class-attribute instance-attribute

JSON5: Literal['json5'] = 'json5'

JSON_LD class-attribute instance-attribute

JSON_LD: Literal['json-ld'] = 'json-ld'

Literals class-attribute instance-attribute

Literals = Literal['json', 'json5', 'json-ld']

JupyterEmbeddedUserInterfaceType

Bases: LiteralEnum[str]

ATTRIBUTE DESCRIPTION
Literals

PYCHARM_JUPYTER

TYPE: Literal['pycharm_jupyter']

Source code in src/omnipy/shared/enums/ui.py
class JupyterEmbeddedUserInterfaceType(LiteralEnum[str]):
    Literals = Literal['pycharm_jupyter']

    PYCHARM_JUPYTER: Literal['pycharm_jupyter'] = 'pycharm_jupyter'
    f"""
    A Jupyter notebook running within the user interface of the JetBrains
    PyCharm IDE.
     {_JUPYTER_DESCRIPTION} {_PYCHARM_NOTE}.
    """

Literals class-attribute instance-attribute

Literals = Literal['pycharm_jupyter']

PYCHARM_JUPYTER class-attribute instance-attribute

PYCHARM_JUPYTER: Literal['pycharm_jupyter'] = 'pycharm_jupyter'

JupyterInBrowserUserInterfaceType

Bases: LiteralEnum[str]

ATTRIBUTE DESCRIPTION
JUPYTER

TYPE: Literal['jupyter']

Literals

Source code in src/omnipy/shared/enums/ui.py
class JupyterInBrowserUserInterfaceType(LiteralEnum[str]):
    Literals = Literal['jupyter']

    JUPYTER: Literal['jupyter'] = 'jupyter'
    f"""
    A Jupyter notebook or JupyterLab environment opened from a web browser.
     {_JUPYTER_DESCRIPTION}
    """

JUPYTER class-attribute instance-attribute

JUPYTER: Literal['jupyter'] = 'jupyter'

Literals class-attribute instance-attribute

Literals = Literal['jupyter']

JupyterUserInterfaceType

Bases: JupyterEmbeddedUserInterfaceType, JupyterInBrowserUserInterfaceType

ATTRIBUTE DESCRIPTION
Literals

Source code in src/omnipy/shared/enums/ui.py
class JupyterUserInterfaceType(
        JupyterEmbeddedUserInterfaceType,
        JupyterInBrowserUserInterfaceType,
):
    Literals = Literal[
        JupyterEmbeddedUserInterfaceType.Literals,
        JupyterInBrowserUserInterfaceType.Literals,
    ]

Literals class-attribute instance-attribute

Justify

Bases: LiteralEnum[str]

Justification modes for the output.

The justification modes are: - LEFT: Left-justified text. - RIGHT: Right-justified text. - CENTER: Centered text.

ATTRIBUTE DESCRIPTION
CENTER

TYPE: Literal['center']

LEFT

TYPE: Literal['left']

Literals

RIGHT

TYPE: Literal['right']

Source code in src/omnipy/shared/enums/display.py
class Justify(LiteralEnum[str]):
    """
    Justification modes for the output.

    The justification modes are:
    - `LEFT`: Left-justified text.
    - `RIGHT`: Right-justified text.
    - `CENTER`: Centered text.
    """

    Literals = Literal['left', 'center', 'right']

    LEFT: Literal['left'] = 'left'
    CENTER: Literal['center'] = 'center'
    RIGHT: Literal['right'] = 'right'

CENTER class-attribute instance-attribute

CENTER: Literal['center'] = 'center'

LEFT class-attribute instance-attribute

LEFT: Literal['left'] = 'left'

Literals class-attribute instance-attribute

Literals = Literal['left', 'center', 'right']

RIGHT class-attribute instance-attribute

RIGHT: Literal['right'] = 'right'

LightColorStyles

Bases: LightHighContrastColorStyles, LightLowContrastColorStyles

All light color styles for syntax highlighting. See subclasses for more details on the color styles.

ATTRIBUTE DESCRIPTION
Literals

RANDOM_LIGHT

TYPE: Literal['random-light']

Source code in src/omnipy/shared/enums/colorstyles.py
class LightColorStyles(
        LightHighContrastColorStyles,
        LightLowContrastColorStyles,
):
    """
    All light color styles for syntax highlighting. See subclasses for more
    details on the color styles.
    """

    Literals = Literal[LightHighContrastColorStyles.Literals,
                       LightLowContrastColorStyles.Literals,
                       'random-light']

    RANDOM_LIGHT: Literal['random-light'] = 'random-light'

Literals class-attribute instance-attribute

RANDOM_LIGHT class-attribute instance-attribute

RANDOM_LIGHT: Literal['random-light'] = 'random-light'

LightHighContrastColorStyles

Bases: LightHighContrastTintedThemingBase16ColorStyles, LightHighContrastPygmentsColorStyles

All light, high contrast color styles for syntax highlighting. See superclasses for more details on the color styles.

ATTRIBUTE DESCRIPTION
Literals

RANDOM_LIGHT_HIGH_CONTRAST

TYPE: Literal['random-light-high']

Source code in src/omnipy/shared/enums/colorstyles.py
class LightHighContrastColorStyles(
        LightHighContrastTintedThemingBase16ColorStyles,
        LightHighContrastPygmentsColorStyles,
):
    """
    All light, high contrast color styles for syntax highlighting. See
    superclasses for more details on the color styles.
    """

    Literals = Literal[LightHighContrastTintedThemingBase16ColorStyles.Literals,
                       LightHighContrastPygmentsColorStyles.Literals,
                       'random-light-high']

    RANDOM_LIGHT_HIGH_CONTRAST: Literal['random-light-high'] = 'random-light-high'

Literals class-attribute instance-attribute

RANDOM_LIGHT_HIGH_CONTRAST class-attribute instance-attribute

RANDOM_LIGHT_HIGH_CONTRAST: Literal['random-light-high'] = 'random-light-high'

LightHighContrastPygmentsColorStyles

Bases: LiteralEnum[str]

ATTRIBUTE DESCRIPTION
BW_PYGMENTS

TYPE: Literal['bw-pygments']

DEFAULT_PYGMENTS

TYPE: Literal['default-pygments']

Literals

SAS_PYGMENTS

TYPE: Literal['sas-pygments']

STAROFFICE_PYGMENTS

TYPE: Literal['staroffice-pygments']

XCODE_PYGMENTS

TYPE: Literal['xcode-pygments']

Source code in src/omnipy/shared/enums/colorstyles.py
class LightHighContrastPygmentsColorStyles(LiteralEnum[str]):
    __doc__ = dedent("""
        High contrast light color styles for syntax highlighting.
        """) + _GENERAL_PYGMENTS_COLOR_STYLE_DOCSTRING

    Literals = Literal[
        'bw-pygments',
        'default-pygments',
        'sas-pygments',
        'staroffice-pygments',
        'xcode-pygments',
    ]

    BW_PYGMENTS: Literal['bw-pygments'] = 'bw-pygments'
    DEFAULT_PYGMENTS: Literal['default-pygments'] = 'default-pygments'
    SAS_PYGMENTS: Literal['sas-pygments'] = 'sas-pygments'
    STAROFFICE_PYGMENTS: Literal['staroffice-pygments'] = 'staroffice-pygments'
    XCODE_PYGMENTS: Literal['xcode-pygments'] = 'xcode-pygments'

BW_PYGMENTS class-attribute instance-attribute

BW_PYGMENTS: Literal['bw-pygments'] = 'bw-pygments'

DEFAULT_PYGMENTS class-attribute instance-attribute

DEFAULT_PYGMENTS: Literal['default-pygments'] = 'default-pygments'

Literals class-attribute instance-attribute

Literals = Literal[
    "bw-pygments", "default-pygments", "sas-pygments", "staroffice-pygments", "xcode-pygments"
]

SAS_PYGMENTS class-attribute instance-attribute

SAS_PYGMENTS: Literal['sas-pygments'] = 'sas-pygments'

STAROFFICE_PYGMENTS class-attribute instance-attribute

STAROFFICE_PYGMENTS: Literal['staroffice-pygments'] = 'staroffice-pygments'

XCODE_PYGMENTS class-attribute instance-attribute

XCODE_PYGMENTS: Literal['xcode-pygments'] = 'xcode-pygments'

LightHighContrastTintedThemingBase16ColorStyles

Bases: LiteralEnum[str]

ATTRIBUTE DESCRIPTION
ATELIER_CAVE_LIGHT_T16

Atelier Cave Light: Base-16 color style by "Bram de Haan".

TYPE: Literal['atelier-cave-light-t16']

ATELIER_DUNE_LIGHT_T16

Atelier Dune Light: Base-16 color style by "Bram de Haan".

TYPE: Literal['atelier-dune-light-t16']

ATELIER_ESTUARY_LIGHT_T16

Atelier Estuary Light: Base-16 color style by "Bram de Haan".

TYPE: Literal['atelier-estuary-light-t16']

ATELIER_FOREST_LIGHT_T16

Atelier Forest Light: Base-16 color style by "Bram de Haan".

TYPE: Literal['atelier-forest-light-t16']

ATELIER_HEATH_LIGHT_T16

Atelier Heath Light: Base-16 color style by "Bram de Haan".

TYPE: Literal['atelier-heath-light-t16']

ATELIER_LAKESIDE_LIGHT_T16

Atelier Lakeside Light: Base-16 color style by "Bram de Haan".

TYPE: Literal['atelier-lakeside-light-t16']

ATELIER_PLATEAU_LIGHT_T16

Atelier Plateau Light: Base-16 color style by "Bram de Haan".

TYPE: Literal['atelier-plateau-light-t16']

ATELIER_SAVANNA_LIGHT_T16

Atelier Savanna Light: Base-16 color style by "Bram de Haan".

TYPE: Literal['atelier-savanna-light-t16']

ATELIER_SEASIDE_LIGHT_T16

Atelier Seaside Light: Base-16 color style by "Bram de Haan".

TYPE: Literal['atelier-seaside-light-t16']

ATELIER_SULPHURPOOL_LIGHT_T16

Atelier Sulphurpool Light: Base-16 color style by "Bram de Haan".

TYPE: Literal['atelier-sulphurpool-light-t16']

AYU_LIGHT_T16

Ayu Light: Base-16 color style by "Khue Nguyen".

TYPE: Literal['ayu-light-t16']

CATPPUCCIN_LATTE_T16

Catppuccin Latte: Base-16 color style.

TYPE: Literal['catppuccin-latte-t16']

CHARCOAL_LIGHT_T16

Charcoal Light: Base-16 color style by "Mubin Muhammad".

TYPE: Literal['charcoal-light-t16']

CHICAGO_DAY_T16

Chicago Day: Base-16 color style by "Wendell, Ryan".

TYPE: Literal['chicago-day-t16']

CHINOISERIE_T16

Chinoiserie: Base-16 color style by "Di Wang".

TYPE: Literal['chinoiserie-t16']

CLASSIC_LIGHT_T16

Classic Light: Base-16 color style by "Jason Heeris".

TYPE: Literal['classic-light-t16']

CUPERTINO_T16

Cupertino: Base-16 color style by "Defman21".

TYPE: Literal['cupertino-t16']

DANQING_LIGHT_T16

DanQing Light: Base-16 color style by "Wenhan Zhu".

TYPE: Literal['danqing-light-t16']

DA_ONE_PAPER_T16

Da One Paper: Base-16 color style by "NNB".

TYPE: Literal['da-one-paper-t16']

DA_ONE_WHITE_T16

Da One White: Base-16 color style by "NNB".

TYPE: Literal['da-one-white-t16']

DEFAULT_LIGHT_T16

Default Light: Base-16 color style by "Chris Kempson".

TYPE: Literal['default-light-t16']

DIRTYSEA_T16

dirtysea: Base-16 color style by "Kahlil Hodgson".

TYPE: Literal['dirtysea-t16']

EDGE_LIGHT_T16

Edge Light: Base-16 color style by "cjayross".

TYPE: Literal['edge-light-t16']

EMBERS_LIGHT_T16

Embers Light: Base-16 color style by "Jannik Siebert".

TYPE: Literal['embers-light-t16']

EMIL_T16

emil: Base-16 color style by "limelier".

TYPE: Literal['emil-t16']

EQUILIBRIUM_GRAY_LIGHT_T16

Equilibrium Gray Light: Base-16 color style by "Carlo Abelli".

TYPE: Literal['equilibrium-gray-light-t16']

EQUILIBRIUM_LIGHT_T16

Equilibrium Light: Base-16 color style by "Carlo Abelli".

TYPE: Literal['equilibrium-light-t16']

FRUIT_SODA_T16

Fruit Soda: Base-16 color style by "jozip".

TYPE: Literal['fruit-soda-t16']

GITHUB_T16

Github: Base-16 color style by "Tinted Theming".

TYPE: Literal['github-t16']

GOOGLE_LIGHT_T16

Google Light: Base-16 color style by "Seth Wright".

TYPE: Literal['google-light-t16']

GRAYSCALE_LIGHT_T16

Grayscale Light: Base-16 color style by "Alexandre Gavioli".

TYPE: Literal['grayscale-light-t16']

GRUVBOX_LIGHT_HARD_T16

Gruvbox light, hard: Base-16 color style by "Dawid Kurek".

TYPE: Literal['gruvbox-light-hard-t16']

GRUVBOX_LIGHT_MEDIUM_T16

Gruvbox light, medium: Base-16 color style by "Dawid Kurek".

TYPE: Literal['gruvbox-light-medium-t16']

GRUVBOX_LIGHT_SOFT_T16

Gruvbox light, soft: Base-16 color style by "Dawid Kurek".

TYPE: Literal['gruvbox-light-soft-t16']

GRUVBOX_LIGHT_T16

Gruvbox Light: Base-16 color style by "Tinted Theming".

TYPE: Literal['gruvbox-light-t16']

GRUVBOX_MATERIAL_LIGHT_HARD_T16

Gruvbox Material Light, Hard: Base-16 color style by "Mayush Kumar".

TYPE: Literal['gruvbox-material-light-hard-t16']

GRUVBOX_MATERIAL_LIGHT_MEDIUM_T16

Gruvbox Material Light, Medium: Base-16 color style by "Mayush Kumar".

TYPE: Literal['gruvbox-material-light-medium-t16']

GRUVBOX_MATERIAL_LIGHT_SOFT_T16

Gruvbox Material Light, Soft: Base-16 color style by "Mayush Kumar".

TYPE: Literal['gruvbox-material-light-soft-t16']

HARMONIC16_LIGHT_T16

Harmonic16 Light: Base-16 color style by "Jannik Siebert".

TYPE: Literal['harmonic16-light-t16']

HEETCH_LIGHT_T16

Heetch Light: Base-16 color style by "Geoffrey Teale".

TYPE: Literal['heetch-light-t16']

HORIZON_LIGHT_T16

Horizon Light: Base-16 color style by "Michaël Ball".

TYPE: Literal['horizon-light-t16']

HORIZON_TERMINAL_LIGHT_T16

Horizon Terminal Light: Base-16 color style by "Michaël Ball".

TYPE: Literal['horizon-terminal-light-t16']

HUMANOID_LIGHT_T16

Humanoid light: Base-16 color style by "Thomas Friese".

TYPE: Literal['humanoid-light-t16']

IA_LIGHT_T16

iA Light: Base-16 color style by "iA Inc.".

TYPE: Literal['ia-light-t16']

Literals

MEASURED_LIGHT_T16

Measured Light: Base-16 color style by "Measured".

TYPE: Literal['measured-light-t16']

MEXICO_LIGHT_T16

Mexico Light: Base-16 color style by "Sheldon Johnson".

TYPE: Literal['mexico-light-t16']

NORD_LIGHT_T16

Nord Light: Base-16 color style by "threddast, based on fuxialexander's

TYPE: Literal['nord-light-t16']

ONE_LIGHT_T16

One Light: Base-16 color style by "Daniel Pfeifer".

TYPE: Literal['one-light-t16']

OXOCARBON_LIGHT_T16

Oxocarbon Light: Base-16 color style by "shaunsingh/IBM".

TYPE: Literal['oxocarbon-light-t16']

PAPERCOLOR_LIGHT_T16

PaperColor Light: Base-16 color style by "Jon Leopard".

TYPE: Literal['papercolor-light-t16']

PENUMBRA_LIGHT_CONTRAST_PLUS_PLUS_T16

Penumbra Light Contrast Plus Plus: Base-16 color style by "Zachary

TYPE: Literal['penumbra-light-contrast-plus-plus-t16']

PENUMBRA_LIGHT_CONTRAST_PLUS_T16

Penumbra Light Contrast Plus: Base-16 color style by "Zachary Weiss".

TYPE: Literal['penumbra-light-contrast-plus-t16']

PENUMBRA_LIGHT_T16

Penumbra Light: Base-16 color style by "Zachary Weiss".

TYPE: Literal['penumbra-light-t16']

PRECIOUS_LIGHT_WARM_T16

Precious Light Warm: Base-16 color style by "4lex4".

TYPE: Literal['precious-light-warm-t16']

PRECIOUS_LIGHT_WHITE_T16

Precious Light White: Base-16 color style by "4lex4".

TYPE: Literal['precious-light-white-t16']

PRIMER_LIGHT_T16

Primer Light: Base-16 color style by "Jimmy Lin".

TYPE: Literal['primer-light-t16']

RANDOM_LIGHT_HIGH_CONTRAST_T16

TYPE: Literal['random-light-high-t16']

ROSE_PINE_DAWN_T16

Rosé Pine Dawn: Base-16 color style by "Emilia Dunfelt".

TYPE: Literal['rose-pine-dawn-t16']

SAGELIGHT_T16

Sagelight: Base-16 color style by "Carter Veldhuizen".

TYPE: Literal['sagelight-t16']

SAKURA_T16

Sakura: Base-16 color style by "Misterio77".

TYPE: Literal['sakura-t16']

SELENIZED_LIGHT_T16

selenized-light: Base-16 color style by "Jan Warchol / adapted to base16

TYPE: Literal['selenized-light-t16']

SELENIZED_WHITE_T16

selenized-white: Base-16 color style by "Jan Warchol / adapted to base16

TYPE: Literal['selenized-white-t16']

SHADESMEAR_LIGHT_T16

ShadeSmear Light: Base-16 color style by "Kyle Giammarco".

TYPE: Literal['shadesmear-light-t16']

SHAPESHIFTER_T16

Shapeshifter: Base-16 color style by "Tyler Benziger".

TYPE: Literal['shapeshifter-t16']

SILK_LIGHT_T16

Silk Light: Base-16 color style by "Gabriel Fontes".

TYPE: Literal['silk-light-t16']

SOLARFLARE_LIGHT_T16

Solar Flare Light: Base-16 color style by "Chuck Harmston".

TYPE: Literal['solarflare-light-t16']

SOLARIZED_LIGHT_T16

Solarized Light: Base-16 color style by "Ethan Schoonover".

TYPE: Literal['solarized-light-t16']

STANDARDIZED_LIGHT_T16

standardized-light: Base-16 color style by "ali".

TYPE: Literal['standardized-light-t16']

STILL_ALIVE_T16

Still Alive: Base-16 color style by "Derrick McKee".

TYPE: Literal['still-alive-t16']

SUMMERFRUIT_LIGHT_T16

Summerfruit Light: Base-16 color style by "Christopher Corley".

TYPE: Literal['summerfruit-light-t16']

SYNTH_MIDNIGHT_LIGHT_T16

Synth Midnight Terminal Light: Base-16 color style by "Michaël Ball".

TYPE: Literal['synth-midnight-light-t16']

TERRACOTTA_T16

Terracotta: Base-16 color style by "Alexander Rossell Hayes".

TYPE: Literal['terracotta-t16']

TOKYO_CITY_LIGHT_T16

Tokyo City Light: Base-16 color style by "Michaël Ball".

TYPE: Literal['tokyo-city-light-t16']

TOKYO_CITY_TERMINAL_LIGHT_T16

Tokyo City Terminal Light: Base-16 color style by "Michaël Ball".

TYPE: Literal['tokyo-city-terminal-light-t16']

TOKYO_NIGHT_LIGHT_T16

Tokyo Night Light: Base-16 color style by "Michaël Ball".

TYPE: Literal['tokyo-night-light-t16']

TOKYO_NIGHT_TERMINAL_LIGHT_T16

Tokyo Night Terminal Light: Base-16 color style by "Michaël Ball".

TYPE: Literal['tokyo-night-terminal-light-t16']

TOMORROW_T16

Tomorrow: Base-16 color style by "Chris Kempson".

TYPE: Literal['tomorrow-t16']

UNIKITTY_LIGHT_T16

Unikitty Light: Base-16 color style by "Josh W Lewis".

TYPE: Literal['unikitty-light-t16']

WINDOWS_95_LIGHT_T16

Windows 95 Light: Base-16 color style by "Fergus Collins".

TYPE: Literal['windows-95-light-t16']

WINDOWS_HIGHCONTRAST_LIGHT_T16

Windows High Contrast Light: Base-16 color style by "Fergus Collins".

TYPE: Literal['windows-highcontrast-light-t16']

Source code in src/omnipy/shared/enums/colorstyles.py
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
class LightHighContrastTintedThemingBase16ColorStyles(LiteralEnum[str]):
    f"""
    {_GENERAL_T16_COLOR_STYLE_DOCSTRING.format(description='Light, high-contrast')}

    These styles have high-level contrast that conform to {_COLOR_CONTRAST_TEXT}
    """

    Literals = Literal['atelier-cave-light-t16',
                       'atelier-dune-light-t16',
                       'atelier-estuary-light-t16',
                       'atelier-forest-light-t16',
                       'atelier-heath-light-t16',
                       'atelier-lakeside-light-t16',
                       'atelier-plateau-light-t16',
                       'atelier-savanna-light-t16',
                       'atelier-seaside-light-t16',
                       'atelier-sulphurpool-light-t16',
                       'ayu-light-t16',
                       'catppuccin-latte-t16',
                       'charcoal-light-t16',
                       'chicago-day-t16',
                       'chinoiserie-t16',
                       'classic-light-t16',
                       'cupertino-t16',
                       'da-one-paper-t16',
                       'da-one-white-t16',
                       'danqing-light-t16',
                       'default-light-t16',
                       'dirtysea-t16',
                       'edge-light-t16',
                       'embers-light-t16',
                       'emil-t16',
                       'equilibrium-gray-light-t16',
                       'equilibrium-light-t16',
                       'fruit-soda-t16',
                       'github-t16',
                       'google-light-t16',
                       'grayscale-light-t16',
                       'gruvbox-light-hard-t16',
                       'gruvbox-light-medium-t16',
                       'gruvbox-light-soft-t16',
                       'gruvbox-light-t16',
                       'gruvbox-material-light-hard-t16',
                       'gruvbox-material-light-medium-t16',
                       'gruvbox-material-light-soft-t16',
                       'harmonic16-light-t16',
                       'heetch-light-t16',
                       'horizon-light-t16',
                       'horizon-terminal-light-t16',
                       'humanoid-light-t16',
                       'ia-light-t16',
                       'measured-light-t16',
                       'mexico-light-t16',
                       'nord-light-t16',
                       'one-light-t16',
                       'oxocarbon-light-t16',
                       'papercolor-light-t16',
                       'penumbra-light-contrast-plus-plus-t16',
                       'penumbra-light-contrast-plus-t16',
                       'penumbra-light-t16',
                       'precious-light-warm-t16',
                       'precious-light-white-t16',
                       'primer-light-t16',
                       'rose-pine-dawn-t16',
                       'sagelight-t16',
                       'sakura-t16',
                       'selenized-light-t16',
                       'selenized-white-t16',
                       'shadesmear-light-t16',
                       'shapeshifter-t16',
                       'silk-light-t16',
                       'solarflare-light-t16',
                       'solarized-light-t16',
                       'standardized-light-t16',
                       'still-alive-t16',
                       'summerfruit-light-t16',
                       'synth-midnight-light-t16',
                       'terracotta-t16',
                       'tokyo-city-light-t16',
                       'tokyo-city-terminal-light-t16',
                       'tokyo-night-light-t16',
                       'tokyo-night-terminal-light-t16',
                       'tomorrow-t16',
                       'unikitty-light-t16',
                       'windows-95-light-t16',
                       'windows-highcontrast-light-t16',
                       'random-light-high-t16']

    ATELIER_CAVE_LIGHT_T16: Literal['atelier-cave-light-t16'] = 'atelier-cave-light-t16'
    """
    Atelier Cave Light: Base-16 color style by "Bram de Haan".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    ATELIER_DUNE_LIGHT_T16: Literal['atelier-dune-light-t16'] = 'atelier-dune-light-t16'
    """
    Atelier Dune Light: Base-16 color style by "Bram de Haan".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    ATELIER_ESTUARY_LIGHT_T16: Literal['atelier-estuary-light-t16'] = 'atelier-estuary-light-t16'
    """
    Atelier Estuary Light: Base-16 color style by "Bram de Haan".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    ATELIER_FOREST_LIGHT_T16: Literal['atelier-forest-light-t16'] = 'atelier-forest-light-t16'
    """
    Atelier Forest Light: Base-16 color style by "Bram de Haan".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    ATELIER_HEATH_LIGHT_T16: Literal['atelier-heath-light-t16'] = 'atelier-heath-light-t16'
    """
    Atelier Heath Light: Base-16 color style by "Bram de Haan".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    ATELIER_LAKESIDE_LIGHT_T16: Literal['atelier-lakeside-light-t16'] = 'atelier-lakeside-light-t16'
    """
    Atelier Lakeside Light: Base-16 color style by "Bram de Haan".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    ATELIER_PLATEAU_LIGHT_T16: Literal['atelier-plateau-light-t16'] = 'atelier-plateau-light-t16'
    """
    Atelier Plateau Light: Base-16 color style by "Bram de Haan".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    ATELIER_SAVANNA_LIGHT_T16: Literal['atelier-savanna-light-t16'] = 'atelier-savanna-light-t16'
    """
    Atelier Savanna Light: Base-16 color style by "Bram de Haan".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    ATELIER_SEASIDE_LIGHT_T16: Literal['atelier-seaside-light-t16'] = 'atelier-seaside-light-t16'
    """
    Atelier Seaside Light: Base-16 color style by "Bram de Haan".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    ATELIER_SULPHURPOOL_LIGHT_T16: Literal[
        'atelier-sulphurpool-light-t16'] = 'atelier-sulphurpool-light-t16'
    """
    Atelier Sulphurpool Light: Base-16 color style by "Bram de Haan".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    AYU_LIGHT_T16: Literal['ayu-light-t16'] = 'ayu-light-t16'
    """
    Ayu Light: Base-16 color style by "Khue Nguyen".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    CATPPUCCIN_LATTE_T16: Literal['catppuccin-latte-t16'] = 'catppuccin-latte-t16'
    """
    Catppuccin Latte: Base-16 color style.

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    CHARCOAL_LIGHT_T16: Literal['charcoal-light-t16'] = 'charcoal-light-t16'
    """
    Charcoal Light: Base-16 color style by "Mubin Muhammad".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    CHICAGO_DAY_T16: Literal['chicago-day-t16'] = 'chicago-day-t16'
    """
    Chicago Day: Base-16 color style by "Wendell, Ryan".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    CHINOISERIE_T16: Literal['chinoiserie-t16'] = 'chinoiserie-t16'
    """
    Chinoiserie: Base-16 color style by "Di Wang".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    CLASSIC_LIGHT_T16: Literal['classic-light-t16'] = 'classic-light-t16'
    """
    Classic Light: Base-16 color style by "Jason Heeris".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    CUPERTINO_T16: Literal['cupertino-t16'] = 'cupertino-t16'
    """
    Cupertino: Base-16 color style by "Defman21".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    DA_ONE_PAPER_T16: Literal['da-one-paper-t16'] = 'da-one-paper-t16'
    """
    Da One Paper: Base-16 color style by "NNB".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    DA_ONE_WHITE_T16: Literal['da-one-white-t16'] = 'da-one-white-t16'
    """
    Da One White: Base-16 color style by "NNB".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    DANQING_LIGHT_T16: Literal['danqing-light-t16'] = 'danqing-light-t16'
    """
    DanQing Light: Base-16 color style by "Wenhan Zhu".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    DEFAULT_LIGHT_T16: Literal['default-light-t16'] = 'default-light-t16'
    """
    Default Light: Base-16 color style by "Chris Kempson".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    DIRTYSEA_T16: Literal['dirtysea-t16'] = 'dirtysea-t16'
    """
    dirtysea: Base-16 color style by "Kahlil Hodgson".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    EDGE_LIGHT_T16: Literal['edge-light-t16'] = 'edge-light-t16'
    """
    Edge Light: Base-16 color style by "cjayross".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    EMBERS_LIGHT_T16: Literal['embers-light-t16'] = 'embers-light-t16'
    """
    Embers Light: Base-16 color style by "Jannik Siebert".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    EMIL_T16: Literal['emil-t16'] = 'emil-t16'
    """
    emil: Base-16 color style by "limelier".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    EQUILIBRIUM_GRAY_LIGHT_T16: Literal['equilibrium-gray-light-t16'] = 'equilibrium-gray-light-t16'
    """
    Equilibrium Gray Light: Base-16 color style by "Carlo Abelli".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    EQUILIBRIUM_LIGHT_T16: Literal['equilibrium-light-t16'] = 'equilibrium-light-t16'
    """
    Equilibrium Light: Base-16 color style by "Carlo Abelli".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    FRUIT_SODA_T16: Literal['fruit-soda-t16'] = 'fruit-soda-t16'
    """
    Fruit Soda: Base-16 color style by "jozip".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    GITHUB_T16: Literal['github-t16'] = 'github-t16'
    """
    Github: Base-16 color style by "Tinted Theming".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    GOOGLE_LIGHT_T16: Literal['google-light-t16'] = 'google-light-t16'
    """
    Google Light: Base-16 color style by "Seth Wright".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    GRAYSCALE_LIGHT_T16: Literal['grayscale-light-t16'] = 'grayscale-light-t16'
    """
    Grayscale Light: Base-16 color style by "Alexandre Gavioli".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    GRUVBOX_LIGHT_HARD_T16: Literal['gruvbox-light-hard-t16'] = 'gruvbox-light-hard-t16'
    """
    Gruvbox light, hard: Base-16 color style by "Dawid Kurek".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    GRUVBOX_LIGHT_MEDIUM_T16: Literal['gruvbox-light-medium-t16'] = 'gruvbox-light-medium-t16'
    """
    Gruvbox light, medium: Base-16 color style by "Dawid Kurek".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    GRUVBOX_LIGHT_SOFT_T16: Literal['gruvbox-light-soft-t16'] = 'gruvbox-light-soft-t16'
    """
    Gruvbox light, soft: Base-16 color style by "Dawid Kurek".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    GRUVBOX_LIGHT_T16: Literal['gruvbox-light-t16'] = 'gruvbox-light-t16'
    """
    Gruvbox Light: Base-16 color style by "Tinted Theming".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    GRUVBOX_MATERIAL_LIGHT_HARD_T16: Literal[
        'gruvbox-material-light-hard-t16'] = 'gruvbox-material-light-hard-t16'
    """
    Gruvbox Material Light, Hard: Base-16 color style by "Mayush Kumar".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    GRUVBOX_MATERIAL_LIGHT_MEDIUM_T16: Literal[
        'gruvbox-material-light-medium-t16'] = 'gruvbox-material-light-medium-t16'
    """
    Gruvbox Material Light, Medium: Base-16 color style by "Mayush Kumar".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    GRUVBOX_MATERIAL_LIGHT_SOFT_T16: Literal[
        'gruvbox-material-light-soft-t16'] = 'gruvbox-material-light-soft-t16'
    """
    Gruvbox Material Light, Soft: Base-16 color style by "Mayush Kumar".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    HARMONIC16_LIGHT_T16: Literal['harmonic16-light-t16'] = 'harmonic16-light-t16'
    """
    Harmonic16 Light: Base-16 color style by "Jannik Siebert".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    HEETCH_LIGHT_T16: Literal['heetch-light-t16'] = 'heetch-light-t16'
    """
    Heetch Light: Base-16 color style by "Geoffrey Teale".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    HORIZON_LIGHT_T16: Literal['horizon-light-t16'] = 'horizon-light-t16'
    """
    Horizon Light: Base-16 color style by "Michaël Ball".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    HORIZON_TERMINAL_LIGHT_T16: Literal['horizon-terminal-light-t16'] = 'horizon-terminal-light-t16'
    """
    Horizon Terminal Light: Base-16 color style by "Michaël Ball".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    HUMANOID_LIGHT_T16: Literal['humanoid-light-t16'] = 'humanoid-light-t16'
    """
    Humanoid light: Base-16 color style by "Thomas Friese".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    IA_LIGHT_T16: Literal['ia-light-t16'] = 'ia-light-t16'
    """
    iA Light: Base-16 color style by "iA Inc.".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    MEASURED_LIGHT_T16: Literal['measured-light-t16'] = 'measured-light-t16'
    """
    Measured Light: Base-16 color style by "Measured".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    MEXICO_LIGHT_T16: Literal['mexico-light-t16'] = 'mexico-light-t16'
    """
    Mexico Light: Base-16 color style by "Sheldon Johnson".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    NORD_LIGHT_T16: Literal['nord-light-t16'] = 'nord-light-t16'
    """
    Nord Light: Base-16 color style by "threddast, based on fuxialexander's
    doom-nord-light-theme".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    ONE_LIGHT_T16: Literal['one-light-t16'] = 'one-light-t16'
    """
    One Light: Base-16 color style by "Daniel Pfeifer".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    OXOCARBON_LIGHT_T16: Literal['oxocarbon-light-t16'] = 'oxocarbon-light-t16'
    """
    Oxocarbon Light: Base-16 color style by "shaunsingh/IBM".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    PAPERCOLOR_LIGHT_T16: Literal['papercolor-light-t16'] = 'papercolor-light-t16'
    """
    PaperColor Light: Base-16 color style by "Jon Leopard".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    PENUMBRA_LIGHT_CONTRAST_PLUS_PLUS_T16: Literal[
        'penumbra-light-contrast-plus-plus-t16'] = 'penumbra-light-contrast-plus-plus-t16'
    """
    Penumbra Light Contrast Plus Plus: Base-16 color style by "Zachary
    Weiss".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    PENUMBRA_LIGHT_CONTRAST_PLUS_T16: Literal[
        'penumbra-light-contrast-plus-t16'] = 'penumbra-light-contrast-plus-t16'
    """
    Penumbra Light Contrast Plus: Base-16 color style by "Zachary Weiss".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    PENUMBRA_LIGHT_T16: Literal['penumbra-light-t16'] = 'penumbra-light-t16'
    """
    Penumbra Light: Base-16 color style by "Zachary Weiss".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    PRECIOUS_LIGHT_WARM_T16: Literal['precious-light-warm-t16'] = 'precious-light-warm-t16'
    """
    Precious Light Warm: Base-16 color style by "4lex4".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    PRECIOUS_LIGHT_WHITE_T16: Literal['precious-light-white-t16'] = 'precious-light-white-t16'
    """
    Precious Light White: Base-16 color style by "4lex4".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    PRIMER_LIGHT_T16: Literal['primer-light-t16'] = 'primer-light-t16'
    """
    Primer Light: Base-16 color style by "Jimmy Lin".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    ROSE_PINE_DAWN_T16: Literal['rose-pine-dawn-t16'] = 'rose-pine-dawn-t16'
    """
    Rosé Pine Dawn: Base-16 color style by "Emilia Dunfelt".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    SAGELIGHT_T16: Literal['sagelight-t16'] = 'sagelight-t16'
    """
    Sagelight: Base-16 color style by "Carter Veldhuizen".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    SAKURA_T16: Literal['sakura-t16'] = 'sakura-t16'
    """
    Sakura: Base-16 color style by "Misterio77".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    SELENIZED_LIGHT_T16: Literal['selenized-light-t16'] = 'selenized-light-t16'
    """
    selenized-light: Base-16 color style by "Jan Warchol / adapted to base16
    by ali".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    SELENIZED_WHITE_T16: Literal['selenized-white-t16'] = 'selenized-white-t16'
    """
    selenized-white: Base-16 color style by "Jan Warchol / adapted to base16
    by ali".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    SHADESMEAR_LIGHT_T16: Literal['shadesmear-light-t16'] = 'shadesmear-light-t16'
    """
    ShadeSmear Light: Base-16 color style by "Kyle Giammarco".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    SHAPESHIFTER_T16: Literal['shapeshifter-t16'] = 'shapeshifter-t16'
    """
    Shapeshifter: Base-16 color style by "Tyler Benziger".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    SILK_LIGHT_T16: Literal['silk-light-t16'] = 'silk-light-t16'
    """
    Silk Light: Base-16 color style by "Gabriel Fontes".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    SOLARFLARE_LIGHT_T16: Literal['solarflare-light-t16'] = 'solarflare-light-t16'
    """
    Solar Flare Light: Base-16 color style by "Chuck Harmston".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    SOLARIZED_LIGHT_T16: Literal['solarized-light-t16'] = 'solarized-light-t16'
    """
    Solarized Light: Base-16 color style by "Ethan Schoonover".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    STANDARDIZED_LIGHT_T16: Literal['standardized-light-t16'] = 'standardized-light-t16'
    """
    standardized-light: Base-16 color style by "ali".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    STILL_ALIVE_T16: Literal['still-alive-t16'] = 'still-alive-t16'
    """
    Still Alive: Base-16 color style by "Derrick McKee".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    SUMMERFRUIT_LIGHT_T16: Literal['summerfruit-light-t16'] = 'summerfruit-light-t16'
    """
    Summerfruit Light: Base-16 color style by "Christopher Corley".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    SYNTH_MIDNIGHT_LIGHT_T16: Literal['synth-midnight-light-t16'] = 'synth-midnight-light-t16'
    """
    Synth Midnight Terminal Light: Base-16 color style by "Michaël Ball".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    TERRACOTTA_T16: Literal['terracotta-t16'] = 'terracotta-t16'
    """
    Terracotta: Base-16 color style by "Alexander Rossell Hayes".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    TOKYO_CITY_LIGHT_T16: Literal['tokyo-city-light-t16'] = 'tokyo-city-light-t16'
    """
    Tokyo City Light: Base-16 color style by "Michaël Ball".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    TOKYO_CITY_TERMINAL_LIGHT_T16: Literal[
        'tokyo-city-terminal-light-t16'] = 'tokyo-city-terminal-light-t16'
    """
    Tokyo City Terminal Light: Base-16 color style by "Michaël Ball".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    TOKYO_NIGHT_LIGHT_T16: Literal['tokyo-night-light-t16'] = 'tokyo-night-light-t16'
    """
    Tokyo Night Light: Base-16 color style by "Michaël Ball".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    TOKYO_NIGHT_TERMINAL_LIGHT_T16: Literal[
        'tokyo-night-terminal-light-t16'] = 'tokyo-night-terminal-light-t16'
    """
    Tokyo Night Terminal Light: Base-16 color style by "Michaël Ball".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    TOMORROW_T16: Literal['tomorrow-t16'] = 'tomorrow-t16'
    """
    Tomorrow: Base-16 color style by "Chris Kempson".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    UNIKITTY_LIGHT_T16: Literal['unikitty-light-t16'] = 'unikitty-light-t16'
    """
    Unikitty Light: Base-16 color style by "Josh W Lewis".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    WINDOWS_95_LIGHT_T16: Literal['windows-95-light-t16'] = 'windows-95-light-t16'
    """
    Windows 95 Light: Base-16 color style by "Fergus Collins".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    WINDOWS_HIGHCONTRAST_LIGHT_T16: Literal[
        'windows-highcontrast-light-t16'] = 'windows-highcontrast-light-t16'
    """
    Windows High Contrast Light: Base-16 color style by "Fergus Collins".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with high-level contrast that conforms to
    the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1
    (https://www.w3.org/TR/WCAG21/).
    """

    RANDOM_LIGHT_HIGH_CONTRAST_T16: Literal['random-light-high-t16'] = 'random-light-high-t16'

ATELIER_CAVE_LIGHT_T16 class-attribute instance-attribute

ATELIER_CAVE_LIGHT_T16: Literal['atelier-cave-light-t16'] = 'atelier-cave-light-t16'

Atelier Cave Light: Base-16 color style by "Bram de Haan".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

ATELIER_DUNE_LIGHT_T16 class-attribute instance-attribute

ATELIER_DUNE_LIGHT_T16: Literal['atelier-dune-light-t16'] = 'atelier-dune-light-t16'

Atelier Dune Light: Base-16 color style by "Bram de Haan".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

ATELIER_ESTUARY_LIGHT_T16 class-attribute instance-attribute

ATELIER_ESTUARY_LIGHT_T16: Literal['atelier-estuary-light-t16'] = 'atelier-estuary-light-t16'

Atelier Estuary Light: Base-16 color style by "Bram de Haan".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

ATELIER_FOREST_LIGHT_T16 class-attribute instance-attribute

ATELIER_FOREST_LIGHT_T16: Literal['atelier-forest-light-t16'] = 'atelier-forest-light-t16'

Atelier Forest Light: Base-16 color style by "Bram de Haan".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

ATELIER_HEATH_LIGHT_T16 class-attribute instance-attribute

ATELIER_HEATH_LIGHT_T16: Literal['atelier-heath-light-t16'] = 'atelier-heath-light-t16'

Atelier Heath Light: Base-16 color style by "Bram de Haan".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

ATELIER_LAKESIDE_LIGHT_T16 class-attribute instance-attribute

ATELIER_LAKESIDE_LIGHT_T16: Literal['atelier-lakeside-light-t16'] = 'atelier-lakeside-light-t16'

Atelier Lakeside Light: Base-16 color style by "Bram de Haan".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

ATELIER_PLATEAU_LIGHT_T16 class-attribute instance-attribute

ATELIER_PLATEAU_LIGHT_T16: Literal['atelier-plateau-light-t16'] = 'atelier-plateau-light-t16'

Atelier Plateau Light: Base-16 color style by "Bram de Haan".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

ATELIER_SAVANNA_LIGHT_T16 class-attribute instance-attribute

ATELIER_SAVANNA_LIGHT_T16: Literal['atelier-savanna-light-t16'] = 'atelier-savanna-light-t16'

Atelier Savanna Light: Base-16 color style by "Bram de Haan".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

ATELIER_SEASIDE_LIGHT_T16 class-attribute instance-attribute

ATELIER_SEASIDE_LIGHT_T16: Literal['atelier-seaside-light-t16'] = 'atelier-seaside-light-t16'

Atelier Seaside Light: Base-16 color style by "Bram de Haan".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

ATELIER_SULPHURPOOL_LIGHT_T16 class-attribute instance-attribute

ATELIER_SULPHURPOOL_LIGHT_T16: Literal["atelier-sulphurpool-light-t16"] = (
    "atelier-sulphurpool-light-t16"
)

Atelier Sulphurpool Light: Base-16 color style by "Bram de Haan".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

AYU_LIGHT_T16 class-attribute instance-attribute

AYU_LIGHT_T16: Literal['ayu-light-t16'] = 'ayu-light-t16'

Ayu Light: Base-16 color style by "Khue Nguyen".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

CATPPUCCIN_LATTE_T16 class-attribute instance-attribute

CATPPUCCIN_LATTE_T16: Literal['catppuccin-latte-t16'] = 'catppuccin-latte-t16'

Catppuccin Latte: Base-16 color style.

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

CHARCOAL_LIGHT_T16 class-attribute instance-attribute

CHARCOAL_LIGHT_T16: Literal['charcoal-light-t16'] = 'charcoal-light-t16'

Charcoal Light: Base-16 color style by "Mubin Muhammad".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

CHICAGO_DAY_T16 class-attribute instance-attribute

CHICAGO_DAY_T16: Literal['chicago-day-t16'] = 'chicago-day-t16'

Chicago Day: Base-16 color style by "Wendell, Ryan".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

CHINOISERIE_T16 class-attribute instance-attribute

CHINOISERIE_T16: Literal['chinoiserie-t16'] = 'chinoiserie-t16'

Chinoiserie: Base-16 color style by "Di Wang".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

CLASSIC_LIGHT_T16 class-attribute instance-attribute

CLASSIC_LIGHT_T16: Literal['classic-light-t16'] = 'classic-light-t16'

Classic Light: Base-16 color style by "Jason Heeris".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

CUPERTINO_T16 class-attribute instance-attribute

CUPERTINO_T16: Literal['cupertino-t16'] = 'cupertino-t16'

Cupertino: Base-16 color style by "Defman21".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

DANQING_LIGHT_T16 class-attribute instance-attribute

DANQING_LIGHT_T16: Literal['danqing-light-t16'] = 'danqing-light-t16'

DanQing Light: Base-16 color style by "Wenhan Zhu".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

DA_ONE_PAPER_T16 class-attribute instance-attribute

DA_ONE_PAPER_T16: Literal['da-one-paper-t16'] = 'da-one-paper-t16'

Da One Paper: Base-16 color style by "NNB".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

DA_ONE_WHITE_T16 class-attribute instance-attribute

DA_ONE_WHITE_T16: Literal['da-one-white-t16'] = 'da-one-white-t16'

Da One White: Base-16 color style by "NNB".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

DEFAULT_LIGHT_T16 class-attribute instance-attribute

DEFAULT_LIGHT_T16: Literal['default-light-t16'] = 'default-light-t16'

Default Light: Base-16 color style by "Chris Kempson".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

DIRTYSEA_T16 class-attribute instance-attribute

DIRTYSEA_T16: Literal['dirtysea-t16'] = 'dirtysea-t16'

dirtysea: Base-16 color style by "Kahlil Hodgson".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

EDGE_LIGHT_T16 class-attribute instance-attribute

EDGE_LIGHT_T16: Literal['edge-light-t16'] = 'edge-light-t16'

Edge Light: Base-16 color style by "cjayross".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

EMBERS_LIGHT_T16 class-attribute instance-attribute

EMBERS_LIGHT_T16: Literal['embers-light-t16'] = 'embers-light-t16'

Embers Light: Base-16 color style by "Jannik Siebert".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

EMIL_T16 class-attribute instance-attribute

EMIL_T16: Literal['emil-t16'] = 'emil-t16'

emil: Base-16 color style by "limelier".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

EQUILIBRIUM_GRAY_LIGHT_T16 class-attribute instance-attribute

EQUILIBRIUM_GRAY_LIGHT_T16: Literal['equilibrium-gray-light-t16'] = 'equilibrium-gray-light-t16'

Equilibrium Gray Light: Base-16 color style by "Carlo Abelli".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

EQUILIBRIUM_LIGHT_T16 class-attribute instance-attribute

EQUILIBRIUM_LIGHT_T16: Literal['equilibrium-light-t16'] = 'equilibrium-light-t16'

Equilibrium Light: Base-16 color style by "Carlo Abelli".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

FRUIT_SODA_T16 class-attribute instance-attribute

FRUIT_SODA_T16: Literal['fruit-soda-t16'] = 'fruit-soda-t16'

Fruit Soda: Base-16 color style by "jozip".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

GITHUB_T16 class-attribute instance-attribute

GITHUB_T16: Literal['github-t16'] = 'github-t16'

Github: Base-16 color style by "Tinted Theming".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

GOOGLE_LIGHT_T16 class-attribute instance-attribute

GOOGLE_LIGHT_T16: Literal['google-light-t16'] = 'google-light-t16'

Google Light: Base-16 color style by "Seth Wright".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

GRAYSCALE_LIGHT_T16 class-attribute instance-attribute

GRAYSCALE_LIGHT_T16: Literal['grayscale-light-t16'] = 'grayscale-light-t16'

Grayscale Light: Base-16 color style by "Alexandre Gavioli".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

GRUVBOX_LIGHT_HARD_T16 class-attribute instance-attribute

GRUVBOX_LIGHT_HARD_T16: Literal['gruvbox-light-hard-t16'] = 'gruvbox-light-hard-t16'

Gruvbox light, hard: Base-16 color style by "Dawid Kurek".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

GRUVBOX_LIGHT_MEDIUM_T16 class-attribute instance-attribute

GRUVBOX_LIGHT_MEDIUM_T16: Literal['gruvbox-light-medium-t16'] = 'gruvbox-light-medium-t16'

Gruvbox light, medium: Base-16 color style by "Dawid Kurek".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

GRUVBOX_LIGHT_SOFT_T16 class-attribute instance-attribute

GRUVBOX_LIGHT_SOFT_T16: Literal['gruvbox-light-soft-t16'] = 'gruvbox-light-soft-t16'

Gruvbox light, soft: Base-16 color style by "Dawid Kurek".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

GRUVBOX_LIGHT_T16 class-attribute instance-attribute

GRUVBOX_LIGHT_T16: Literal['gruvbox-light-t16'] = 'gruvbox-light-t16'

Gruvbox Light: Base-16 color style by "Tinted Theming".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

GRUVBOX_MATERIAL_LIGHT_HARD_T16 class-attribute instance-attribute

GRUVBOX_MATERIAL_LIGHT_HARD_T16: Literal["gruvbox-material-light-hard-t16"] = (
    "gruvbox-material-light-hard-t16"
)

Gruvbox Material Light, Hard: Base-16 color style by "Mayush Kumar".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

GRUVBOX_MATERIAL_LIGHT_MEDIUM_T16 class-attribute instance-attribute

GRUVBOX_MATERIAL_LIGHT_MEDIUM_T16: Literal["gruvbox-material-light-medium-t16"] = (
    "gruvbox-material-light-medium-t16"
)

Gruvbox Material Light, Medium: Base-16 color style by "Mayush Kumar".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

GRUVBOX_MATERIAL_LIGHT_SOFT_T16 class-attribute instance-attribute

GRUVBOX_MATERIAL_LIGHT_SOFT_T16: Literal["gruvbox-material-light-soft-t16"] = (
    "gruvbox-material-light-soft-t16"
)

Gruvbox Material Light, Soft: Base-16 color style by "Mayush Kumar".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

HARMONIC16_LIGHT_T16 class-attribute instance-attribute

HARMONIC16_LIGHT_T16: Literal['harmonic16-light-t16'] = 'harmonic16-light-t16'

Harmonic16 Light: Base-16 color style by "Jannik Siebert".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

HEETCH_LIGHT_T16 class-attribute instance-attribute

HEETCH_LIGHT_T16: Literal['heetch-light-t16'] = 'heetch-light-t16'

Heetch Light: Base-16 color style by "Geoffrey Teale".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

HORIZON_LIGHT_T16 class-attribute instance-attribute

HORIZON_LIGHT_T16: Literal['horizon-light-t16'] = 'horizon-light-t16'

Horizon Light: Base-16 color style by "Michaël Ball".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

HORIZON_TERMINAL_LIGHT_T16 class-attribute instance-attribute

HORIZON_TERMINAL_LIGHT_T16: Literal['horizon-terminal-light-t16'] = 'horizon-terminal-light-t16'

Horizon Terminal Light: Base-16 color style by "Michaël Ball".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

HUMANOID_LIGHT_T16 class-attribute instance-attribute

HUMANOID_LIGHT_T16: Literal['humanoid-light-t16'] = 'humanoid-light-t16'

Humanoid light: Base-16 color style by "Thomas Friese".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

IA_LIGHT_T16 class-attribute instance-attribute

IA_LIGHT_T16: Literal['ia-light-t16'] = 'ia-light-t16'

iA Light: Base-16 color style by "iA Inc.".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

Literals class-attribute instance-attribute

Literals = Literal[
    "atelier-cave-light-t16",
    "atelier-dune-light-t16",
    "atelier-estuary-light-t16",
    "atelier-forest-light-t16",
    "atelier-heath-light-t16",
    "atelier-lakeside-light-t16",
    "atelier-plateau-light-t16",
    "atelier-savanna-light-t16",
    "atelier-seaside-light-t16",
    "atelier-sulphurpool-light-t16",
    "ayu-light-t16",
    "catppuccin-latte-t16",
    "charcoal-light-t16",
    "chicago-day-t16",
    "chinoiserie-t16",
    "classic-light-t16",
    "cupertino-t16",
    "da-one-paper-t16",
    "da-one-white-t16",
    "danqing-light-t16",
    "default-light-t16",
    "dirtysea-t16",
    "edge-light-t16",
    "embers-light-t16",
    "emil-t16",
    "equilibrium-gray-light-t16",
    "equilibrium-light-t16",
    "fruit-soda-t16",
    "github-t16",
    "google-light-t16",
    "grayscale-light-t16",
    "gruvbox-light-hard-t16",
    "gruvbox-light-medium-t16",
    "gruvbox-light-soft-t16",
    "gruvbox-light-t16",
    "gruvbox-material-light-hard-t16",
    "gruvbox-material-light-medium-t16",
    "gruvbox-material-light-soft-t16",
    "harmonic16-light-t16",
    "heetch-light-t16",
    "horizon-light-t16",
    "horizon-terminal-light-t16",
    "humanoid-light-t16",
    "ia-light-t16",
    "measured-light-t16",
    "mexico-light-t16",
    "nord-light-t16",
    "one-light-t16",
    "oxocarbon-light-t16",
    "papercolor-light-t16",
    "penumbra-light-contrast-plus-plus-t16",
    "penumbra-light-contrast-plus-t16",
    "penumbra-light-t16",
    "precious-light-warm-t16",
    "precious-light-white-t16",
    "primer-light-t16",
    "rose-pine-dawn-t16",
    "sagelight-t16",
    "sakura-t16",
    "selenized-light-t16",
    "selenized-white-t16",
    "shadesmear-light-t16",
    "shapeshifter-t16",
    "silk-light-t16",
    "solarflare-light-t16",
    "solarized-light-t16",
    "standardized-light-t16",
    "still-alive-t16",
    "summerfruit-light-t16",
    "synth-midnight-light-t16",
    "terracotta-t16",
    "tokyo-city-light-t16",
    "tokyo-city-terminal-light-t16",
    "tokyo-night-light-t16",
    "tokyo-night-terminal-light-t16",
    "tomorrow-t16",
    "unikitty-light-t16",
    "windows-95-light-t16",
    "windows-highcontrast-light-t16",
    "random-light-high-t16",
]

MEASURED_LIGHT_T16 class-attribute instance-attribute

MEASURED_LIGHT_T16: Literal['measured-light-t16'] = 'measured-light-t16'

Measured Light: Base-16 color style by "Measured".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

MEXICO_LIGHT_T16 class-attribute instance-attribute

MEXICO_LIGHT_T16: Literal['mexico-light-t16'] = 'mexico-light-t16'

Mexico Light: Base-16 color style by "Sheldon Johnson".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

NORD_LIGHT_T16 class-attribute instance-attribute

NORD_LIGHT_T16: Literal['nord-light-t16'] = 'nord-light-t16'

Nord Light: Base-16 color style by "threddast, based on fuxialexander's doom-nord-light-theme".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

ONE_LIGHT_T16 class-attribute instance-attribute

ONE_LIGHT_T16: Literal['one-light-t16'] = 'one-light-t16'

One Light: Base-16 color style by "Daniel Pfeifer".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

OXOCARBON_LIGHT_T16 class-attribute instance-attribute

OXOCARBON_LIGHT_T16: Literal['oxocarbon-light-t16'] = 'oxocarbon-light-t16'

Oxocarbon Light: Base-16 color style by "shaunsingh/IBM".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

PAPERCOLOR_LIGHT_T16 class-attribute instance-attribute

PAPERCOLOR_LIGHT_T16: Literal['papercolor-light-t16'] = 'papercolor-light-t16'

PaperColor Light: Base-16 color style by "Jon Leopard".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

PENUMBRA_LIGHT_CONTRAST_PLUS_PLUS_T16 class-attribute instance-attribute

PENUMBRA_LIGHT_CONTRAST_PLUS_PLUS_T16: Literal["penumbra-light-contrast-plus-plus-t16"] = (
    "penumbra-light-contrast-plus-plus-t16"
)

Penumbra Light Contrast Plus Plus: Base-16 color style by "Zachary Weiss".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

PENUMBRA_LIGHT_CONTRAST_PLUS_T16 class-attribute instance-attribute

PENUMBRA_LIGHT_CONTRAST_PLUS_T16: Literal["penumbra-light-contrast-plus-t16"] = (
    "penumbra-light-contrast-plus-t16"
)

Penumbra Light Contrast Plus: Base-16 color style by "Zachary Weiss".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

PENUMBRA_LIGHT_T16 class-attribute instance-attribute

PENUMBRA_LIGHT_T16: Literal['penumbra-light-t16'] = 'penumbra-light-t16'

Penumbra Light: Base-16 color style by "Zachary Weiss".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

PRECIOUS_LIGHT_WARM_T16 class-attribute instance-attribute

PRECIOUS_LIGHT_WARM_T16: Literal['precious-light-warm-t16'] = 'precious-light-warm-t16'

Precious Light Warm: Base-16 color style by "4lex4".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

PRECIOUS_LIGHT_WHITE_T16 class-attribute instance-attribute

PRECIOUS_LIGHT_WHITE_T16: Literal['precious-light-white-t16'] = 'precious-light-white-t16'

Precious Light White: Base-16 color style by "4lex4".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

PRIMER_LIGHT_T16 class-attribute instance-attribute

PRIMER_LIGHT_T16: Literal['primer-light-t16'] = 'primer-light-t16'

Primer Light: Base-16 color style by "Jimmy Lin".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

RANDOM_LIGHT_HIGH_CONTRAST_T16 class-attribute instance-attribute

RANDOM_LIGHT_HIGH_CONTRAST_T16: Literal['random-light-high-t16'] = 'random-light-high-t16'

ROSE_PINE_DAWN_T16 class-attribute instance-attribute

ROSE_PINE_DAWN_T16: Literal['rose-pine-dawn-t16'] = 'rose-pine-dawn-t16'

Rosé Pine Dawn: Base-16 color style by "Emilia Dunfelt".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

SAGELIGHT_T16 class-attribute instance-attribute

SAGELIGHT_T16: Literal['sagelight-t16'] = 'sagelight-t16'

Sagelight: Base-16 color style by "Carter Veldhuizen".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

SAKURA_T16 class-attribute instance-attribute

SAKURA_T16: Literal['sakura-t16'] = 'sakura-t16'

Sakura: Base-16 color style by "Misterio77".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

SELENIZED_LIGHT_T16 class-attribute instance-attribute

SELENIZED_LIGHT_T16: Literal['selenized-light-t16'] = 'selenized-light-t16'

selenized-light: Base-16 color style by "Jan Warchol / adapted to base16 by ali".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

SELENIZED_WHITE_T16 class-attribute instance-attribute

SELENIZED_WHITE_T16: Literal['selenized-white-t16'] = 'selenized-white-t16'

selenized-white: Base-16 color style by "Jan Warchol / adapted to base16 by ali".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

SHADESMEAR_LIGHT_T16 class-attribute instance-attribute

SHADESMEAR_LIGHT_T16: Literal['shadesmear-light-t16'] = 'shadesmear-light-t16'

ShadeSmear Light: Base-16 color style by "Kyle Giammarco".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

SHAPESHIFTER_T16 class-attribute instance-attribute

SHAPESHIFTER_T16: Literal['shapeshifter-t16'] = 'shapeshifter-t16'

Shapeshifter: Base-16 color style by "Tyler Benziger".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

SILK_LIGHT_T16 class-attribute instance-attribute

SILK_LIGHT_T16: Literal['silk-light-t16'] = 'silk-light-t16'

Silk Light: Base-16 color style by "Gabriel Fontes".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

SOLARFLARE_LIGHT_T16 class-attribute instance-attribute

SOLARFLARE_LIGHT_T16: Literal['solarflare-light-t16'] = 'solarflare-light-t16'

Solar Flare Light: Base-16 color style by "Chuck Harmston".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

SOLARIZED_LIGHT_T16 class-attribute instance-attribute

SOLARIZED_LIGHT_T16: Literal['solarized-light-t16'] = 'solarized-light-t16'

Solarized Light: Base-16 color style by "Ethan Schoonover".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

STANDARDIZED_LIGHT_T16 class-attribute instance-attribute

STANDARDIZED_LIGHT_T16: Literal['standardized-light-t16'] = 'standardized-light-t16'

standardized-light: Base-16 color style by "ali".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

STILL_ALIVE_T16 class-attribute instance-attribute

STILL_ALIVE_T16: Literal['still-alive-t16'] = 'still-alive-t16'

Still Alive: Base-16 color style by "Derrick McKee".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

SUMMERFRUIT_LIGHT_T16 class-attribute instance-attribute

SUMMERFRUIT_LIGHT_T16: Literal['summerfruit-light-t16'] = 'summerfruit-light-t16'

Summerfruit Light: Base-16 color style by "Christopher Corley".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

SYNTH_MIDNIGHT_LIGHT_T16 class-attribute instance-attribute

SYNTH_MIDNIGHT_LIGHT_T16: Literal['synth-midnight-light-t16'] = 'synth-midnight-light-t16'

Synth Midnight Terminal Light: Base-16 color style by "Michaël Ball".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

TERRACOTTA_T16 class-attribute instance-attribute

TERRACOTTA_T16: Literal['terracotta-t16'] = 'terracotta-t16'

Terracotta: Base-16 color style by "Alexander Rossell Hayes".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

TOKYO_CITY_LIGHT_T16 class-attribute instance-attribute

TOKYO_CITY_LIGHT_T16: Literal['tokyo-city-light-t16'] = 'tokyo-city-light-t16'

Tokyo City Light: Base-16 color style by "Michaël Ball".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

TOKYO_CITY_TERMINAL_LIGHT_T16 class-attribute instance-attribute

TOKYO_CITY_TERMINAL_LIGHT_T16: Literal["tokyo-city-terminal-light-t16"] = (
    "tokyo-city-terminal-light-t16"
)

Tokyo City Terminal Light: Base-16 color style by "Michaël Ball".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

TOKYO_NIGHT_LIGHT_T16 class-attribute instance-attribute

TOKYO_NIGHT_LIGHT_T16: Literal['tokyo-night-light-t16'] = 'tokyo-night-light-t16'

Tokyo Night Light: Base-16 color style by "Michaël Ball".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

TOKYO_NIGHT_TERMINAL_LIGHT_T16 class-attribute instance-attribute

TOKYO_NIGHT_TERMINAL_LIGHT_T16: Literal["tokyo-night-terminal-light-t16"] = (
    "tokyo-night-terminal-light-t16"
)

Tokyo Night Terminal Light: Base-16 color style by "Michaël Ball".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

TOMORROW_T16 class-attribute instance-attribute

TOMORROW_T16: Literal['tomorrow-t16'] = 'tomorrow-t16'

Tomorrow: Base-16 color style by "Chris Kempson".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

UNIKITTY_LIGHT_T16 class-attribute instance-attribute

UNIKITTY_LIGHT_T16: Literal['unikitty-light-t16'] = 'unikitty-light-t16'

Unikitty Light: Base-16 color style by "Josh W Lewis".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

WINDOWS_95_LIGHT_T16 class-attribute instance-attribute

WINDOWS_95_LIGHT_T16: Literal['windows-95-light-t16'] = 'windows-95-light-t16'

Windows 95 Light: Base-16 color style by "Fergus Collins".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

WINDOWS_HIGHCONTRAST_LIGHT_T16 class-attribute instance-attribute

WINDOWS_HIGHCONTRAST_LIGHT_T16: Literal["windows-highcontrast-light-t16"] = (
    "windows-highcontrast-light-t16"
)

Windows High Contrast Light: Base-16 color style by "Fergus Collins".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with high-level contrast that conforms to the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

LightLowContrastColorStyles

Bases: LightLowContrastTintedThemingBase16ColorStyles, LightLowContrastPygmentsColorStyles

All light, lower contrast color styles for syntax highlighting. See superclasses for more details on the color styles.

ATTRIBUTE DESCRIPTION
Literals

RANDOM_LIGHT_LOW_CONTRAST

TYPE: Literal['random-light-low']

Source code in src/omnipy/shared/enums/colorstyles.py
class LightLowContrastColorStyles(
        LightLowContrastTintedThemingBase16ColorStyles,
        LightLowContrastPygmentsColorStyles,
):
    """
    All light, lower contrast color styles for syntax highlighting. See
    superclasses for more details on the color styles.
    """

    Literals = Literal[LightLowContrastTintedThemingBase16ColorStyles.Literals,
                       LightLowContrastPygmentsColorStyles.Literals,
                       'random-light-low']

    RANDOM_LIGHT_LOW_CONTRAST: Literal['random-light-low'] = 'random-light-low'

Literals class-attribute instance-attribute

RANDOM_LIGHT_LOW_CONTRAST class-attribute instance-attribute

RANDOM_LIGHT_LOW_CONTRAST: Literal['random-light-low'] = 'random-light-low'

LightLowContrastPygmentsColorStyles

Bases: LiteralEnum[str]

ATTRIBUTE DESCRIPTION
ABAP_PYGMENTS

TYPE: Literal['abap-pygments']

ALGOL_NU_PYGMENTS

TYPE: Literal['algol_nu-pygments']

ALGOL_PYGMENTS

TYPE: Literal['algol-pygments']

ARDUINO_PYGMENTS

TYPE: Literal['arduino-pygments']

AUTUMN_PYGMENTS

TYPE: Literal['autumn-pygments']

BORLAND_PYGMENTS

TYPE: Literal['borland-pygments']

COLORFUL_PYGMENTS

TYPE: Literal['colorful-pygments']

EMACS_PYGMENTS

TYPE: Literal['emacs-pygments']

FRIENDLY_GRAYSCALE_PYGMENTS

TYPE: Literal['friendly_grayscale-pygments']

FRIENDLY_PYGMENTS

TYPE: Literal['friendly-pygments']

GRUVBOX_LIGHT_PYGMENTS

TYPE: Literal['gruvbox-light-pygments']

IGOR_PYGMENTS

TYPE: Literal['igor-pygments']

LOVELACE_PYGMENTS

TYPE: Literal['lovelace-pygments']

Literals

MANNI_PYGMENTS

TYPE: Literal['manni-pygments']

MURPHY_PYGMENTS

TYPE: Literal['murphy-pygments']

PARAISO_LIGHT_PYGMENTS

TYPE: Literal['paraiso-light-pygments']

PASTIE_PYGMENTS

TYPE: Literal['pastie-pygments']

PERLDOC_PYGMENTS

TYPE: Literal['perldoc-pygments']

RAINBOW_DASH_PYGMENTS

TYPE: Literal['rainbow_dash-pygments']

SOLARIZED_LIGHT_PYGMENTS

TYPE: Literal['solarized-light-pygments']

STATA_LIGHT_PYGMENTS

TYPE: Literal['stata-light-pygments']

TANGO_PYGMENTS

TYPE: Literal['tango-pygments']

TRAC_PYGMENTS

TYPE: Literal['trac-pygments']

VS_PYGMENTS

TYPE: Literal['vs-pygments']

Source code in src/omnipy/shared/enums/colorstyles.py
class LightLowContrastPygmentsColorStyles(LiteralEnum[str]):
    __doc__ = dedent("""
        Lower contrast dark color styles for syntax highlighting.
        """) + _GENERAL_PYGMENTS_COLOR_STYLE_DOCSTRING

    Literals = Literal[
        'abap-pygments',
        'algol-pygments',
        'algol_nu-pygments',
        'arduino-pygments',
        'autumn-pygments',
        'borland-pygments',
        'colorful-pygments',
        'emacs-pygments',
        'friendly_grayscale-pygments',
        'friendly-pygments',
        'gruvbox-light-pygments',
        'igor-pygments',
        'lovelace-pygments',
        'manni-pygments',
        'murphy-pygments',
        'paraiso-light-pygments',
        'pastie-pygments',
        'perldoc-pygments',
        'rainbow_dash-pygments',
        'solarized-light-pygments',
        'stata-light-pygments',
        'tango-pygments',
        'trac-pygments',
        'vs-pygments',
    ]

    ABAP_PYGMENTS: Literal['abap-pygments'] = 'abap-pygments'
    ALGOL_PYGMENTS: Literal['algol-pygments'] = 'algol-pygments'
    ALGOL_NU_PYGMENTS: Literal['algol_nu-pygments'] = 'algol_nu-pygments'
    ARDUINO_PYGMENTS: Literal['arduino-pygments'] = 'arduino-pygments'
    AUTUMN_PYGMENTS: Literal['autumn-pygments'] = 'autumn-pygments'
    BORLAND_PYGMENTS: Literal['borland-pygments'] = 'borland-pygments'
    COLORFUL_PYGMENTS: Literal['colorful-pygments'] = 'colorful-pygments'
    EMACS_PYGMENTS: Literal['emacs-pygments'] = 'emacs-pygments'
    FRIENDLY_GRAYSCALE_PYGMENTS: Literal[
        'friendly_grayscale-pygments'] = 'friendly_grayscale-pygments'
    FRIENDLY_PYGMENTS: Literal['friendly-pygments'] = 'friendly-pygments'
    GRUVBOX_LIGHT_PYGMENTS: Literal['gruvbox-light-pygments'] = 'gruvbox-light-pygments'
    IGOR_PYGMENTS: Literal['igor-pygments'] = 'igor-pygments'
    LOVELACE_PYGMENTS: Literal['lovelace-pygments'] = 'lovelace-pygments'
    MANNI_PYGMENTS: Literal['manni-pygments'] = 'manni-pygments'
    MURPHY_PYGMENTS: Literal['murphy-pygments'] = 'murphy-pygments'
    PARAISO_LIGHT_PYGMENTS: Literal['paraiso-light-pygments'] = 'paraiso-light-pygments'
    PASTIE_PYGMENTS: Literal['pastie-pygments'] = 'pastie-pygments'
    PERLDOC_PYGMENTS: Literal['perldoc-pygments'] = 'perldoc-pygments'
    RAINBOW_DASH_PYGMENTS: Literal['rainbow_dash-pygments'] = 'rainbow_dash-pygments'
    SOLARIZED_LIGHT_PYGMENTS: Literal['solarized-light-pygments'] = 'solarized-light-pygments'
    STATA_LIGHT_PYGMENTS: Literal['stata-light-pygments'] = 'stata-light-pygments'
    TANGO_PYGMENTS: Literal['tango-pygments'] = 'tango-pygments'
    TRAC_PYGMENTS: Literal['trac-pygments'] = 'trac-pygments'
    VS_PYGMENTS: Literal['vs-pygments'] = 'vs-pygments'

ABAP_PYGMENTS class-attribute instance-attribute

ABAP_PYGMENTS: Literal['abap-pygments'] = 'abap-pygments'

ALGOL_NU_PYGMENTS class-attribute instance-attribute

ALGOL_NU_PYGMENTS: Literal['algol_nu-pygments'] = 'algol_nu-pygments'

ALGOL_PYGMENTS class-attribute instance-attribute

ALGOL_PYGMENTS: Literal['algol-pygments'] = 'algol-pygments'

ARDUINO_PYGMENTS class-attribute instance-attribute

ARDUINO_PYGMENTS: Literal['arduino-pygments'] = 'arduino-pygments'

AUTUMN_PYGMENTS class-attribute instance-attribute

AUTUMN_PYGMENTS: Literal['autumn-pygments'] = 'autumn-pygments'

BORLAND_PYGMENTS class-attribute instance-attribute

BORLAND_PYGMENTS: Literal['borland-pygments'] = 'borland-pygments'

COLORFUL_PYGMENTS class-attribute instance-attribute

COLORFUL_PYGMENTS: Literal['colorful-pygments'] = 'colorful-pygments'

EMACS_PYGMENTS class-attribute instance-attribute

EMACS_PYGMENTS: Literal['emacs-pygments'] = 'emacs-pygments'

FRIENDLY_GRAYSCALE_PYGMENTS class-attribute instance-attribute

FRIENDLY_GRAYSCALE_PYGMENTS: Literal['friendly_grayscale-pygments'] = 'friendly_grayscale-pygments'

FRIENDLY_PYGMENTS class-attribute instance-attribute

FRIENDLY_PYGMENTS: Literal['friendly-pygments'] = 'friendly-pygments'

GRUVBOX_LIGHT_PYGMENTS class-attribute instance-attribute

GRUVBOX_LIGHT_PYGMENTS: Literal['gruvbox-light-pygments'] = 'gruvbox-light-pygments'

IGOR_PYGMENTS class-attribute instance-attribute

IGOR_PYGMENTS: Literal['igor-pygments'] = 'igor-pygments'

LOVELACE_PYGMENTS class-attribute instance-attribute

LOVELACE_PYGMENTS: Literal['lovelace-pygments'] = 'lovelace-pygments'

Literals class-attribute instance-attribute

Literals = Literal[
    "abap-pygments",
    "algol-pygments",
    "algol_nu-pygments",
    "arduino-pygments",
    "autumn-pygments",
    "borland-pygments",
    "colorful-pygments",
    "emacs-pygments",
    "friendly_grayscale-pygments",
    "friendly-pygments",
    "gruvbox-light-pygments",
    "igor-pygments",
    "lovelace-pygments",
    "manni-pygments",
    "murphy-pygments",
    "paraiso-light-pygments",
    "pastie-pygments",
    "perldoc-pygments",
    "rainbow_dash-pygments",
    "solarized-light-pygments",
    "stata-light-pygments",
    "tango-pygments",
    "trac-pygments",
    "vs-pygments",
]

MANNI_PYGMENTS class-attribute instance-attribute

MANNI_PYGMENTS: Literal['manni-pygments'] = 'manni-pygments'

MURPHY_PYGMENTS class-attribute instance-attribute

MURPHY_PYGMENTS: Literal['murphy-pygments'] = 'murphy-pygments'

PARAISO_LIGHT_PYGMENTS class-attribute instance-attribute

PARAISO_LIGHT_PYGMENTS: Literal['paraiso-light-pygments'] = 'paraiso-light-pygments'

PASTIE_PYGMENTS class-attribute instance-attribute

PASTIE_PYGMENTS: Literal['pastie-pygments'] = 'pastie-pygments'

PERLDOC_PYGMENTS class-attribute instance-attribute

PERLDOC_PYGMENTS: Literal['perldoc-pygments'] = 'perldoc-pygments'

RAINBOW_DASH_PYGMENTS class-attribute instance-attribute

RAINBOW_DASH_PYGMENTS: Literal['rainbow_dash-pygments'] = 'rainbow_dash-pygments'

SOLARIZED_LIGHT_PYGMENTS class-attribute instance-attribute

SOLARIZED_LIGHT_PYGMENTS: Literal['solarized-light-pygments'] = 'solarized-light-pygments'

STATA_LIGHT_PYGMENTS class-attribute instance-attribute

STATA_LIGHT_PYGMENTS: Literal['stata-light-pygments'] = 'stata-light-pygments'

TANGO_PYGMENTS class-attribute instance-attribute

TANGO_PYGMENTS: Literal['tango-pygments'] = 'tango-pygments'

TRAC_PYGMENTS class-attribute instance-attribute

TRAC_PYGMENTS: Literal['trac-pygments'] = 'trac-pygments'

VS_PYGMENTS class-attribute instance-attribute

VS_PYGMENTS: Literal['vs-pygments'] = 'vs-pygments'

LightLowContrastTintedThemingBase16ColorStyles

Bases: LiteralEnum[str]

ATTRIBUTE DESCRIPTION
BRUSHTREES_T16

Brush Trees: Base-16 color style by "Abraham White".

TYPE: Literal['brushtrees-t16']

CUPCAKE_T16

Cupcake: Base-16 color style by "Chris Kempson".

TYPE: Literal['cupcake-t16']

Literals

MATERIAL_LIGHTER_T16

Material Lighter: Base-16 color style by "Nate Peterson".

TYPE: Literal['material-lighter-t16']

RANDOM_LIGHT_LOW_CONTRAST_T16

TYPE: Literal['random-light-low-t16']

WINDOWS_10_LIGHT_T16

Windows 10 Light: Base-16 color style by "Fergus Collins".

TYPE: Literal['windows-10-light-t16']

WINDOWS_NT_LIGHT_T16

Windows NT Light: Base-16 color style by "Fergus Collins".

TYPE: Literal['windows-nt-light-t16']

Source code in src/omnipy/shared/enums/colorstyles.py
class LightLowContrastTintedThemingBase16ColorStyles(LiteralEnum[str]):
    f"""
    {_GENERAL_T16_COLOR_STYLE_DOCSTRING.format(description='Light, lower contrast')}

    These styles have lower-level contrast that did not meet {_COLOR_CONTRAST_TEXT}
    """

    Literals = Literal['brushtrees-t16',
                       'cupcake-t16',
                       'material-lighter-t16',
                       'windows-10-light-t16',
                       'windows-nt-light-t16',
                       'random-light-low-t16']

    BRUSHTREES_T16: Literal['brushtrees-t16'] = 'brushtrees-t16'
    """
    Brush Trees: Base-16 color style by "Abraham White".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with lower-level contrast that did not
    meet the AA criteria of the Web Content Accessibility Guidelines (WCAG)
    2.1 (https://www.w3.org/TR/WCAG21/).
    """

    CUPCAKE_T16: Literal['cupcake-t16'] = 'cupcake-t16'
    """
    Cupcake: Base-16 color style by "Chris Kempson".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with lower-level contrast that did not
    meet the AA criteria of the Web Content Accessibility Guidelines (WCAG)
    2.1 (https://www.w3.org/TR/WCAG21/).
    """

    MATERIAL_LIGHTER_T16: Literal['material-lighter-t16'] = 'material-lighter-t16'
    """
    Material Lighter: Base-16 color style by "Nate Peterson".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with lower-level contrast that did not
    meet the AA criteria of the Web Content Accessibility Guidelines (WCAG)
    2.1 (https://www.w3.org/TR/WCAG21/).
    """

    WINDOWS_10_LIGHT_T16: Literal['windows-10-light-t16'] = 'windows-10-light-t16'
    """
    Windows 10 Light: Base-16 color style by "Fergus Collins".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with lower-level contrast that did not
    meet the AA criteria of the Web Content Accessibility Guidelines (WCAG)
    2.1 (https://www.w3.org/TR/WCAG21/).
    """

    WINDOWS_NT_LIGHT_T16: Literal['windows-nt-light-t16'] = 'windows-nt-light-t16'
    """
    Windows NT Light: Base-16 color style by "Fergus Collins".

    Collected by Tinted Theming (https://github.com/tinted-theming/schemes).
    Automatically downloaded by Omnipy when needed (locally cached).

    This style is a light variant, with lower-level contrast that did not
    meet the AA criteria of the Web Content Accessibility Guidelines (WCAG)
    2.1 (https://www.w3.org/TR/WCAG21/).
    """

    RANDOM_LIGHT_LOW_CONTRAST_T16: Literal['random-light-low-t16'] = 'random-light-low-t16'

BRUSHTREES_T16 class-attribute instance-attribute

BRUSHTREES_T16: Literal['brushtrees-t16'] = 'brushtrees-t16'

Brush Trees: Base-16 color style by "Abraham White".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with lower-level contrast that did not meet the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

CUPCAKE_T16 class-attribute instance-attribute

CUPCAKE_T16: Literal['cupcake-t16'] = 'cupcake-t16'

Cupcake: Base-16 color style by "Chris Kempson".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with lower-level contrast that did not meet the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

Literals class-attribute instance-attribute

Literals = Literal[
    "brushtrees-t16",
    "cupcake-t16",
    "material-lighter-t16",
    "windows-10-light-t16",
    "windows-nt-light-t16",
    "random-light-low-t16",
]

MATERIAL_LIGHTER_T16 class-attribute instance-attribute

MATERIAL_LIGHTER_T16: Literal['material-lighter-t16'] = 'material-lighter-t16'

Material Lighter: Base-16 color style by "Nate Peterson".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with lower-level contrast that did not meet the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

RANDOM_LIGHT_LOW_CONTRAST_T16 class-attribute instance-attribute

RANDOM_LIGHT_LOW_CONTRAST_T16: Literal['random-light-low-t16'] = 'random-light-low-t16'

WINDOWS_10_LIGHT_T16 class-attribute instance-attribute

WINDOWS_10_LIGHT_T16: Literal['windows-10-light-t16'] = 'windows-10-light-t16'

Windows 10 Light: Base-16 color style by "Fergus Collins".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with lower-level contrast that did not meet the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

WINDOWS_NT_LIGHT_T16 class-attribute instance-attribute

WINDOWS_NT_LIGHT_T16: Literal['windows-nt-light-t16'] = 'windows-nt-light-t16'

Windows NT Light: Base-16 color style by "Fergus Collins".

Collected by Tinted Theming (https://github.com/tinted-theming/schemes). Automatically downloaded by Omnipy when needed (locally cached).

This style is a light variant, with lower-level contrast that did not meet the AA criteria of the Web Content Accessibility Guidelines (WCAG) 2.1 (https://www.w3.org/TR/WCAG21/).

LightTintedThemingBase16ColorStyles

Bases: LightHighContrastTintedThemingBase16ColorStyles, LightLowContrastTintedThemingBase16ColorStyles

ATTRIBUTE DESCRIPTION
Literals

RANDOM_LIGHT_T16

TYPE: Literal['random-light-t16']

Source code in src/omnipy/shared/enums/colorstyles.py
class LightTintedThemingBase16ColorStyles(
        LightHighContrastTintedThemingBase16ColorStyles,
        LightLowContrastTintedThemingBase16ColorStyles,
):
    f"""
    {_GENERAL_T16_COLOR_STYLE_DOCSTRING.format(description='All light')}
    """

    Literals = Literal[LightHighContrastTintedThemingBase16ColorStyles.Literals,
                       LightLowContrastTintedThemingBase16ColorStyles.Literals,
                       'random-light-t16']

    RANDOM_LIGHT_T16: Literal['random-light-t16'] = 'random-light-t16'

Literals class-attribute instance-attribute

RANDOM_LIGHT_T16 class-attribute instance-attribute

RANDOM_LIGHT_T16: Literal['random-light-t16'] = 'random-light-t16'

LinearFlow

Bases: JobMixin[IsLinearFlowTemplate[_CallP, _RetT], IsLinearFlow[_CallP, _RetT], _CallP, _RetT], FlowBase, TaskTemplateArgsJobBase[IsLinearFlowTemplate[_CallP, _RetT], IsLinearFlow[_CallP, _RetT], _CallP, _RetT], Generic[_CallP, _RetT]

Source code in src/omnipy/compute/flow.py
class LinearFlow(JobMixin[IsLinearFlowTemplate[_CallP, _RetT],
                          IsLinearFlow[_CallP, _RetT],
                          _CallP,
                          _RetT],
                 FlowBase,
                 TaskTemplateArgsJobBase[IsLinearFlowTemplate[_CallP, _RetT],
                                         IsLinearFlow[_CallP, _RetT],
                                         _CallP,
                                         _RetT],
                 Generic[_CallP, _RetT]):
    def _apply_engine_decorator(self, engine: IsEngine) -> None:
        if self.engine:
            engine = cast(IsLinearFlowRunnerEngine, self.engine)
            self_with_mixins = cast(IsLinearFlow, self)
            engine.apply_linear_flow_decorator(self_with_mixins, self._accept_call_func_decorator)

    @classmethod
    def _get_job_template_subcls_for_revise(cls) -> type[IsLinearFlowTemplate[_CallP, _RetT]]:
        return cast(type[IsLinearFlowTemplate[_CallP, _RetT]], LinearFlowTemplate)

LiteralEnum

Bases: Generic[LiteralInnerTypeT]

Base class for creating enums with defined literal choices.

LiteralEnum supports the main static type checkers (tested with mypy and pyright). Unlike standard Enums, LiteralEnum supports multiple inheritance and the use the enum attribute names and underlying values directly in type hints and function signatures. At the same time, LiteralEnum maintains the main benefits of traditional Enum types: a clearly defined and namespaced set of choices with possibilities for flexible naming and per-item documentation.

Subclasses must define a Literals class attribute that specify the valid choices as a Literal type. Each choice must also be defined as a separate class attribute with a Literal type. The LiteralEnum superclass will ensure that all choices are defined according to these rules.

Example LiteralEnum:

from typing import Literal
from omnipy import LiteralEnum

class ClearBoolChoices(LiteralEnum[bool]):
    Literals = Literal[True, False]

    POSITIVE: Literal[True] = True
    """
    Documentation for the positive choice.
    """

    NEGATIVE: Literal[False] = False
    """
    Documentation for the negative choice.
    """

Specializing the LiteralEnum class with a specific inner type allows for more precise type checking for iteration and other methods. If no specialization is provided, the default inner types are defined as:

LiteralEnumInnerTypes =bool | str | int | bytes | None`

Example usage in a function signature:

def i_need_a_clear_choice(choice: ClearBoolChoices.Literals) -> str:
    match choice:
        case ClearBoolChoices.POSITIVE:
            return 'You chose a positive response'
        case ClearBoolChoices.NEGATIVE:
            return 'You chose a negative response'

All the following calls will work at runtime, but with different static type checking results:

>>> i_need_a_clear_choice(ClearBoolChoices.POSITIVE)  # Will pass static type checking
'You chose a positive response'

>>> i_need_a_clear_choice(False)  # Unlike Enums, passing the value also works
'You chose a negative response'

>>> response = i_need_a_clear_choice('maybe')  # This will fail static type checking
>>> response is None
True

LiteralEnum supports multiple inheritance, allowing you to combine different sets of choices into a single enum, e.g.:

class ClearStrChoices(LiteralEnum[str]):
    Literals = Literal['yes', 'no']

    POSITIVE: Literal['yes'] = 'yes'
    NEGATIVE: Literal['no'] = 'no'

class UnclearStrChoices(LiteralEnum):
    Literals = Literal['maybe', 'possibly']

    MAYBE: Literal['maybe'] = 'maybe'
    POSSIBLY: Literal['possibly'] = 'possibly'

class AllStrChoices(ClearStrChoices, UnclearStrChoices):
    Literals = Literal[ClearStrChoices.Literals, UnclearStrChoices.Literals]

The AllStrChoices enum will have all the choices from both ClearStrChoices and UnclearStrChoices. The Literals type of AllStrChoices will be a union of the literals from both enums, allowing for flexible type checking and usage in function signatures.

When there are many enum values, you can avoid manually specifying all the choices by making use of a type narrowing function. As a bonus, mypy (as of v1.16.1) supports exhaustiveness checking for TypeIs narrowing in the same way as with explicit pattern matching.

Example:

# For Python versions < 3.13
# In any case:
# Otherwise, use the built-in versions:
from typing import get_args, TypeIs

from typing_extensions import TypeIs

def is_unclear_choice(choice: AllStrChoices.Literals) -> TypeIs[UnclearStrChoices.Literals]:
    """
    A type narrowing function that checks if the choice is a member of UnclearStrChoices.
    The `TypeIs` return type narrows the type of choice to `UnclearStrChoices.Literals` if the
    check succeeds. Otherwise, the type of choice is negatively narrowed to the remaining
    choices in `AllStrChoices.Literals`.
    """
    return choice in UnclearStrChoices

# This will produce a static type error on the return value, as we forgot to handle the
# case of AllStrChoices.NEGATIVE
def most_choices_are_ok(choice: AllStrChoices.Literals) -> str:
    match choice:
        case AllStrChoices.POSITIVE:
            return "You chose yes"
        case x if is_unclear_choice(x):
            return f"You chose an unclear option: {x}"

Note that there are still no runtime checks:

>>> most_choices_are_ok('maybe')  # No static type checking errors
'You chose an unclear option: maybe'

>>> response = most_choices_are_ok('whatever')  # Static type checking error here
>>> response is None
True
Note: pyright (as of v1.1.402) does not support TypeIs narrowing of exhaustiveness checks:

https://github.com/microsoft/pyright/issues/10680

In contrast to i_need_a_clear_choice(), the most_choices_are_ok() function also checks the provided value at runtime. This is due to the use of the assert_never() function:

For runtime checks, there are several options:

  1. Make use of the new assert_never() function, which also provides exhaustiveness checks when there are no return values:
# For Python versions < 3.11
# Otherwise, use the built-in versions:
from typing import assert_never

from typing_extensions import assert_never

def most_choices_are_still_ok(choice: AllStrChoices.Literals) -> None:
    match choice:
        case AllStrChoices.POSITIVE:
            print("You chose yes")
        case x if is_unclear_choice(x):
            print(f"You chose an unclear option: {x}")
        case _ as never:
            assert_never(never)  # This will raise an error if the case is not handled

The following call will fail both at static type checking and at runtime:

>>> most_choices_are_still_ok('whatever')
(...)
AssertionError: Expected code to be unreachable, but got: 'whatever'
  1. Use e.g. pydantic to validate (and transform) the input:
class MyModel(BaseModel):
    clear: ClearBoolChoices.Literals
    confused: AllStrChoices.Literals

As with i_need_a_clear_choice(), any combination of matching enum attributes and values will work at runtime and for static type checking:

>>> abc = MyModel(clear=True is False, confused=AllStrChoices.MAYBE)
>>> abc
MyModel(clear=False, confused='maybe')

Incorrect values will fail static type checking and (in contrast to i_need_a_clear_choice()) also raise a validation error at runtime:

>>> abc = MyModel(clear=ClearBoolChoices.POSITIVE, confused='whatever')
(…)
confused
  unexpected value; permitted: 'yes', 'no', 'maybe', 'possibly' (…)
METHOD DESCRIPTION
is_random_choice_value

Checks whether the value is valid as random choice for this enum.

name_for_value

Get the name of the enum attribute for the given value.

names

Get an iterator of all attribute names defined in the enum.

random_choice

Select a random choice from all available enum values.

ATTRIBUTE DESCRIPTION
ALLOWED_LITERAL_INNER_TYPES

TYPE: tuple[type, ...]

Literals

A class variable that specifies the valid choices as a Literal type.

TYPE: ClassVar

Source code in src/omnipy/util/literal_enum.py
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
class LiteralEnum(Generic[LiteralInnerTypeT], metaclass=LiteralEnumMeta):
    """Base class for creating enums with defined literal choices.

    LiteralEnum supports the main static type checkers (tested with `mypy`
    and `pyright`). Unlike standard Enums, LiteralEnum supports multiple
    inheritance and the use the enum attribute names and underlying values
    directly in type hints and function signatures. At the same time,
    LiteralEnum maintains the main benefits of traditional Enum types: a
    clearly defined and namespaced set of choices with possibilities for
    flexible naming and per-item documentation.

    Subclasses must define a `Literals` class attribute that specify the
    valid choices as a Literal type. Each choice must also be defined as a
    separate class attribute with a Literal type. The LiteralEnum superclass
    will ensure that all choices are defined according to these rules.

    Example LiteralEnum:

    ```python
    from typing import Literal
    from omnipy import LiteralEnum

    class ClearBoolChoices(LiteralEnum[bool]):
        Literals = Literal[True, False]

        POSITIVE: Literal[True] = True
        \"\"\"
        Documentation for the positive choice.
        \"\"\"

        NEGATIVE: Literal[False] = False
        \"\"\"
        Documentation for the negative choice.
        \"\"\"
    ```

    Specializing the `LiteralEnum` class with a specific inner type allows
    for more precise type checking for iteration and other methods. If no
    specialization is provided, the default inner types are defined as:

    `LiteralEnumInnerTypes = `bool | str | int | bytes | None`

    Example usage in a function signature:

    ```python
    def i_need_a_clear_choice(choice: ClearBoolChoices.Literals) -> str:
        match choice:
            case ClearBoolChoices.POSITIVE:
                return 'You chose a positive response'
            case ClearBoolChoices.NEGATIVE:
                return 'You chose a negative response'
    ```

    All the following calls will work at runtime, but with different static
    type checking results:

    ```pycon
    >>> i_need_a_clear_choice(ClearBoolChoices.POSITIVE)  # Will pass static type checking
    'You chose a positive response'

    >>> i_need_a_clear_choice(False)  # Unlike Enums, passing the value also works
    'You chose a negative response'

    >>> response = i_need_a_clear_choice('maybe')  # This will fail static type checking
    >>> response is None
    True
    ```

    LiteralEnum supports multiple inheritance, allowing you to combine
    different sets of choices into a single enum, e.g.:

    ```python
    class ClearStrChoices(LiteralEnum[str]):
        Literals = Literal['yes', 'no']

        POSITIVE: Literal['yes'] = 'yes'
        NEGATIVE: Literal['no'] = 'no'

    class UnclearStrChoices(LiteralEnum):
        Literals = Literal['maybe', 'possibly']

        MAYBE: Literal['maybe'] = 'maybe'
        POSSIBLY: Literal['possibly'] = 'possibly'

    class AllStrChoices(ClearStrChoices, UnclearStrChoices):
        Literals = Literal[ClearStrChoices.Literals, UnclearStrChoices.Literals]
    ```

    The `AllStrChoices` enum will have all the choices from both
    `ClearStrChoices` and `UnclearStrChoices`. The `Literals` type of
    `AllStrChoices` will be a union of the literals from both enums,
    allowing for flexible type checking and usage in function signatures.

    When there are many enum values, you can avoid manually specifying all
    the choices by making use of a type narrowing function. As a bonus,
    `mypy` (as of v1.16.1) supports exhaustiveness checking for `TypeIs`
    narrowing in the same way as with explicit pattern matching.

    Example:

    ```python
    # For Python versions < 3.13
    # In any case:
    # Otherwise, use the built-in versions:
    from typing import get_args, TypeIs

    from typing_extensions import TypeIs

    def is_unclear_choice(choice: AllStrChoices.Literals) -> TypeIs[UnclearStrChoices.Literals]:
        \"\"\"
        A type narrowing function that checks if the choice is a member of UnclearStrChoices.
        The `TypeIs` return type narrows the type of choice to `UnclearStrChoices.Literals` if the
        check succeeds. Otherwise, the type of choice is negatively narrowed to the remaining
        choices in `AllStrChoices.Literals`.
        \"\"\"
        return choice in UnclearStrChoices

    # This will produce a static type error on the return value, as we forgot to handle the
    # case of AllStrChoices.NEGATIVE
    def most_choices_are_ok(choice: AllStrChoices.Literals) -> str:
        match choice:
            case AllStrChoices.POSITIVE:
                return "You chose yes"
            case x if is_unclear_choice(x):
                return f"You chose an unclear option: {x}"
    ```

    Note that there are still no runtime checks:

    ```pycon
    >>> most_choices_are_ok('maybe')  # No static type checking errors
    'You chose an unclear option: maybe'

    >>> response = most_choices_are_ok('whatever')  # Static type checking error here
    >>> response is None
    True
    ```
    Note: pyright (as of v1.1.402) does not support `TypeIs` narrowing of
    exhaustiveness checks:

        https://github.com/microsoft/pyright/issues/10680

    In contrast to `i_need_a_clear_choice()`, the `most_choices_are_ok()`
    function also checks the provided value at runtime. This is due to the
    use of the `assert_never()` function:

    For runtime checks, there are several options:

    1. Make use of the new `assert_never()` function, which also provides
    exhaustiveness checks when there are no return values:

    ```python
    # For Python versions < 3.11
    # Otherwise, use the built-in versions:
    from typing import assert_never

    from typing_extensions import assert_never

    def most_choices_are_still_ok(choice: AllStrChoices.Literals) -> None:
        match choice:
            case AllStrChoices.POSITIVE:
                print("You chose yes")
            case x if is_unclear_choice(x):
                print(f"You chose an unclear option: {x}")
            case _ as never:
                assert_never(never)  # This will raise an error if the case is not handled
    ```

    The following call will fail both at static type checking and at runtime:

    ```pycon
    >>> most_choices_are_still_ok('whatever')
    (...)
    AssertionError: Expected code to be unreachable, but got: 'whatever'
    ```

    2. Use e.g. pydantic to validate (and transform) the input:

    ```python
    class MyModel(BaseModel):
        clear: ClearBoolChoices.Literals
        confused: AllStrChoices.Literals
    ```

    As with `i_need_a_clear_choice()`, any combination of matching enum attributes and values will
    work at runtime and for static type checking:

    ```pycon
    >>> abc = MyModel(clear=True is False, confused=AllStrChoices.MAYBE)
    >>> abc
    MyModel(clear=False, confused='maybe')
    ```

    Incorrect values will fail static type checking and (in contrast to `i_need_a_clear_choice()`)
    also raise a validation error at runtime:

    ```pycon
    >>> abc = MyModel(clear=ClearBoolChoices.POSITIVE, confused='whatever')
    (…)
    confused
      unexpected value; permitted: 'yes', 'no', 'maybe', 'possibly' (…)
    ```
    """

    ALLOWED_LITERAL_INNER_TYPES: tuple[type, ...] = cast(
        tuple[type, ...],
        all_type_variants(LiteralEnumInnerTypes),
    )

    _RESERVED_PUBLIC_ATTRS = set(('Literals', 'ALLOWED_LITERAL_INNER_TYPES'))
    _RESERVED_PUBLIC_METHODS = set(('names', 'name_for_value'))
    _RESERVED_PUBLIC_NAMES = _RESERVED_PUBLIC_ATTRS | _RESERVED_PUBLIC_METHODS

    Literals: ClassVar
    """A class variable that specifies the valid choices as a Literal type.

    Each choice must also be defined as a separate class attribute with a
    Literal type.
    """
    def __init_subclass__(cls) -> None:
        """
        This method is called when a subclass of LiteralEnum is created. It
        makes sure all values of the `Literals` class variable are also
        defined as members of the subclass. The method also checks that the
        types of the class attributes correctly defined.
        """
        if is_package_editable('omnipy'):
            # Check cls.Literals
            all_cls_literal_vals = cls._check_literals_outer_type()
            cls._check_literals_inner_types_are_allowed(all_cls_literal_vals)

            # Check all defined attributes
            defined_attr_literal_vals = cls._check_attributes(all_cls_literal_vals)

            # Check that all values in cls.Literals are defined as attributes
            cls._check_missing_attributes(all_cls_literal_vals, defined_attr_literal_vals)

    @classmethod
    def _check_literals_outer_type(cls) -> set[LiteralEnumInnerTypes]:
        """
        Checks that the `Literals` class variable is defined as a Literal
        type and returns the set of all possible values defined in it.

        Returns:
            The set of all values defined in `cls.Literals`.
        """
        if not hasattr(cls, 'Literals'):
            raise TypeError(f'{cls.__name__} must define a Literals property.')

        assert is_literal_type(cls.Literals), \
            f'{cls.__name__}.Literals must be defined as a Literal type.'

        return set(get_args(cls.Literals))

    @classmethod
    def _check_literals_inner_types_are_allowed(
            cls, all_cls_literal_vals: set[LiteralEnumInnerTypes]) -> None:
        """
        Checks that all values in cls.Literals are of the allowed inner
        types. For a generic class, the checks are performed against
        LiteralEnumInnerTypes. For a specialized class, the checks are
        performed against the specialized inner types.
        """
        specialized_inner_types: tuple[type, ...] = cls._get_specialized_literal_inner_types()

        if specialized_inner_types:
            literal_inner_types = specialized_inner_types
        else:
            literal_inner_types = cls.ALLOWED_LITERAL_INNER_TYPES

        non_matching_inner_types = []

        for literal_val in all_cls_literal_vals:
            if not isinstance(literal_val, literal_inner_types):
                non_matching_inner_types.append(literal_val)

        if non_matching_inner_types:
            plurality_text = 'value does' if len(non_matching_inner_types) == 1 else 'values do'
            raise TypeError(
                f'{cls.__name__}: Literal {plurality_text} not match the specialization '
                f"({', '.join(_.__name__ for _ in specialized_inner_types)}): "
                + ', '.join(f'{_!r}' for _ in non_matching_inner_types))

    @classmethod
    def _get_specialized_literal_inner_types(cls) -> tuple[type, ...]:
        """
        Extract the specialized inner types from the Generics machinery.
        """
        bases_names = [_.__name__ for _ in cls.__orig_bases__]  # type: ignore[attr-defined]
        try:
            lit_enum_idx = bases_names.index('LiteralEnum')
            return cast(
                tuple[type, ...],
                tuple(
                    _typ for _typ in all_type_variants(
                        get_args(cls.__orig_bases__[lit_enum_idx])[0]  # type: ignore[attr-defined]
                    )))
        except ValueError:
            # Not a specialized LiteralEnum, so return an empty tuple
            return tuple()

    @classmethod
    def _check_attributes(
            cls, all_cls_literal_vals: set[LiteralEnumInnerTypes]) -> set[LiteralEnumInnerTypes]:
        """
        Checks that all public attributes are defined:
        - with an uppercase name
        - annotated as Literal types and with a matching value
        - match the inner types defined in `Literals`

        Returns:
            The set of all correctly defined attribute values
        """

        defined_attr_vals: set[LiteralEnumInnerTypes] = set()

        for member_name in dir(cls):
            member = getattr(cls, member_name)

            if cls._is_public_attr(member_name, member):
                cls._check_uppercase_attr_name(member_name)
                cls._check_attr_annotation_and_value_are_matching_literals(member_name, member)
                cls._check_attr_matches_cls_literals(all_cls_literal_vals, member)

                defined_attr_vals.add(member)

        return defined_attr_vals

    @classmethod
    def _check_uppercase_attr_name(cls, attr):
        assert attr.isupper(), f'{cls.__name__}.{attr} must be an uppercase attribute name.'

    @classmethod
    def _check_attr_annotation_and_value_are_matching_literals(
        cls,
        attr: str,
        value: Any,
    ):
        """
        Checks that the attribute is annotated as a Literal type and that
        the value matches the annotation.
        """
        cls_type_hints: dict[str, TypeForm] = get_type_hints(cls)

        assert attr in cls_type_hints and is_literal_type(cls_type_hints[attr]), \
            f'{cls.__name__}.{attr} must be annotated as a Literal type.'

        annotation_args = get_args(cls_type_hints[attr])
        assert annotation_args == (value,), \
            (f'The value of the Literal annotation must match the assigned value for '
             f'{attr}: {annotation_args} != {(value,)}')

    @classmethod
    def _check_attr_matches_cls_literals(
        cls,
        all_cls_literal_vals: set[LiteralEnumInnerTypes],
        value: Any,
    ):
        """
        Checks that the value of the attribute is one of the defined
        literals in `cls.Literals`.
        """
        if value not in all_cls_literal_vals:
            raise TypeError(f'{value} is not defined in {cls.Literals}.')

    @classmethod
    def _is_public_attr(cls, attr: str, value: Any) -> bool:
        return (
            # Check if the attribute is not private
            not attr.startswith('_')
            # Check if the attribute is not a reserved public attribute
            and attr not in cls._RESERVED_PUBLIC_ATTRS
            # Check if the attribute is not a method
            and not cls._is_method(value))

    @classmethod
    def _is_method(cls, val: Any) -> bool:
        return hasattr(val, '__func__')

    @classmethod
    def _check_missing_attributes(
        cls,
        all_cls_literal_vals: set[LiteralEnumInnerTypes],
        defined_attrs: set[LiteralEnumInnerTypes],
    ):
        """
        Checks that all choices in `cls.Literals` are defined as class
        attributes.
        """
        literal_missing_attrs = all_cls_literal_vals - defined_attrs
        if literal_missing_attrs:
            raise TypeError(f'Not all choices in {cls.__name__}.Literals are defined as members. '
                            f'Missing members: {literal_missing_attrs}')

    @classmethod
    def _get_all_mro_dicts(cls) -> ChainMap[str, Any]:
        return ChainMap(*(dict(base.__dict__)
                          for base in cls.__mro__
                          if base is not LiteralEnum and issubclass(base, LiteralEnum)))

    @classmethod
    def names(cls) -> Iterator[str]:
        """Get an iterator of all attribute names defined in the enum.

        Returns:
            An iterator of attribute names defined in the enum.
        """
        for attr_name in cls._get_all_mro_dicts().keys():
            if cls._is_public_attr(attr_name, getattr(cls, attr_name)):
                yield attr_name

    @classmethod
    def name_for_value(cls: 'type[LiteralEnum[LiteralInnerTypeT]]',
                       value: LiteralInnerTypeT) -> str:
        """Get the name of the enum attribute for the given value.

        Parameters:
            value: The value to look up in the enum

        Returns:
            The name of the enum attribute that corresponds to the value,
            or raise ValueError if the value is not found.
        """
        for attr_name, attr_value in cls._get_all_mro_dicts().items():
            if attr_value == value:
                return attr_name
        raise ValueError(f'Value {value!r} not found in {cls.__name__}')

    @classmethod
    def random_choice(cls) -> LiteralInnerTypeT:
        """Select a random choice from all available enum values.
        """
        exclude_prefixes = [RANDOM_PREFIX, AUTO_VALUE]
        choice = ''
        while choice == '' or any(choice.startswith(_) for _ in exclude_prefixes):
            choice = random.choice(get_args(cls.Literals))

        return cast(LiteralInnerTypeT, choice)

    @classmethod
    def is_random_choice_value(cls, value: object) -> bool:
        """Checks whether the value is valid as random choice for this enum.

        Parameters:
            value: The value to check.

        Returns:
            True if the value is a valid random choice value for this enum,
            False otherwise.
        """
        return (isinstance(value, str) and cast(LiteralInnerTypeT, value) in cls
                and value.startswith(RANDOM_PREFIX))

ALLOWED_LITERAL_INNER_TYPES class-attribute instance-attribute

ALLOWED_LITERAL_INNER_TYPES: tuple[type, ...] = cast(
    tuple[type, ...], all_type_variants(LiteralEnumInnerTypes)
)

Literals instance-attribute

Literals: ClassVar

A class variable that specifies the valid choices as a Literal type.

Each choice must also be defined as a separate class attribute with a Literal type.

is_random_choice_value classmethod

is_random_choice_value(value: object) -> bool

Checks whether the value is valid as random choice for this enum.

PARAMETER DESCRIPTION
value

The value to check.

TYPE: object

RETURNS DESCRIPTION
bool

True if the value is a valid random choice value for this enum, False otherwise.

Source code in src/omnipy/util/literal_enum.py
@classmethod
def is_random_choice_value(cls, value: object) -> bool:
    """Checks whether the value is valid as random choice for this enum.

    Parameters:
        value: The value to check.

    Returns:
        True if the value is a valid random choice value for this enum,
        False otherwise.
    """
    return (isinstance(value, str) and cast(LiteralInnerTypeT, value) in cls
            and value.startswith(RANDOM_PREFIX))

name_for_value classmethod

name_for_value(value: LiteralInnerTypeT) -> str

Get the name of the enum attribute for the given value.

PARAMETER DESCRIPTION
value

The value to look up in the enum

TYPE: LiteralInnerTypeT

RETURNS DESCRIPTION
str

The name of the enum attribute that corresponds to the value, or raise ValueError if the value is not found.

Source code in src/omnipy/util/literal_enum.py
@classmethod
def name_for_value(cls: 'type[LiteralEnum[LiteralInnerTypeT]]',
                   value: LiteralInnerTypeT) -> str:
    """Get the name of the enum attribute for the given value.

    Parameters:
        value: The value to look up in the enum

    Returns:
        The name of the enum attribute that corresponds to the value,
        or raise ValueError if the value is not found.
    """
    for attr_name, attr_value in cls._get_all_mro_dicts().items():
        if attr_value == value:
            return attr_name
    raise ValueError(f'Value {value!r} not found in {cls.__name__}')

names classmethod

names() -> Iterator[str]

Get an iterator of all attribute names defined in the enum.

RETURNS DESCRIPTION
Iterator[str]

An iterator of attribute names defined in the enum.

Source code in src/omnipy/util/literal_enum.py
@classmethod
def names(cls) -> Iterator[str]:
    """Get an iterator of all attribute names defined in the enum.

    Returns:
        An iterator of attribute names defined in the enum.
    """
    for attr_name in cls._get_all_mro_dicts().keys():
        if cls._is_public_attr(attr_name, getattr(cls, attr_name)):
            yield attr_name

random_choice classmethod

random_choice() -> LiteralInnerTypeT

Select a random choice from all available enum values.

Source code in src/omnipy/util/literal_enum.py
@classmethod
def random_choice(cls) -> LiteralInnerTypeT:
    """Select a random choice from all available enum values.
    """
    exclude_prefixes = [RANDOM_PREFIX, AUTO_VALUE]
    choice = ''
    while choice == '' or any(choice.startswith(_) for _ in exclude_prefixes):
        choice = random.choice(get_args(cls.Literals))

    return cast(LiteralInnerTypeT, choice)

MatchItemsModel

Bases: _MatchItemsModel

ATTRIBUTE DESCRIPTION
adjust

Source code in src/omnipy/components/raw/models.py
class MatchItemsModel(_MatchItemsModel):
    adjust = bind_adjust_model_func(
        _MatchItemsModel.clone_model_cls,
        _MatchItemsModel.Params,
    )

adjust class-attribute instance-attribute

adjust = bind_adjust_model_func(_MatchItemsModel.clone_model_cls, _MatchItemsModel.Params)

MaxTitleHeight

Bases: LiteralEnum[int]

ATTRIBUTE DESCRIPTION
AUTO

TYPE: Literal[-1]

Literals

ONE

TYPE: Literal[1]

TWO

TYPE: Literal[2]

ZERO

TYPE: Literal[0]

Source code in src/omnipy/shared/enums/display.py
class MaxTitleHeight(LiteralEnum[int]):
    Literals = Literal[-1, 0, 1, 2]

    AUTO: Literal[-1] = -1
    ZERO: Literal[0] = 0
    ONE: Literal[1] = 1
    TWO: Literal[2] = 2

AUTO class-attribute instance-attribute

AUTO: Literal[-1] = -1

Literals class-attribute instance-attribute

Literals = Literal[-1, 0, 1, 2]

ONE class-attribute instance-attribute

ONE: Literal[1] = 1

TWO class-attribute instance-attribute

TWO: Literal[2] = 2

ZERO class-attribute instance-attribute

ZERO: Literal[0] = 0

Model

Bases: ModelDisplayMixin, DataClassBase[_RootT], pyd.GenericModel, Generic[_RootT]

A data model containing a value parsed according to the model.

If no value is provided, the value is set to the default value of the data model, found by calling the model class without parameters, e.g. int().

Model is a generic class that cannot be instantiated directly. Instead, a Model class needs to be specialized with a data type before Model objects can be instantiated. A data model functions as a data parser and guarantees that the parsed data follows the specified model.

Example data model specialized as a class alias::

MyNumberList = Model[list[int]]

... alternatively as a Model subclass::

class MyNumberList(Model[list[int]]):
    pass

Once instantiated, a Model object functions as a parser, e.g.::

my_number_list = MyNumberList([2,3,4])

my_number_list.content = ['3', 4, True]
assert my_number_list.content == [3,4,1]

While the following should raise a ValidationError::

my_number_list.content = ['abc', 'def']

The Model class is a wrapper class around the powerful GenericModel class from pydantic.

See also docs of the Dataset class for more usage examples.

CLASS DESCRIPTION
Config
METHOD DESCRIPTION
__init__
absorb_and_replace
clone_model_cls
content_validated_according_to_snapshot
copy
dict
do
from_data
from_json
full_type
get_orig_model
has_snapshot
inner_type
is_nested_type
outer_type
set_orig_model
snapshot_differs_from_model
snapshot_taken_of_same_model
to
to_data
to_json
to_json_schema
update_forward_refs
validate

Hack to allow overwriting of iter method without compromising pydantic validation. Part

validate_content
ATTRIBUTE DESCRIPTION
content

TYPE: _RootT

snapshot

TYPE: _RootT

Source code in src/omnipy/data/model.py
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245
 246
 247
 248
 249
 250
 251
 252
 253
 254
 255
 256
 257
 258
 259
 260
 261
 262
 263
 264
 265
 266
 267
 268
 269
 270
 271
 272
 273
 274
 275
 276
 277
 278
 279
 280
 281
 282
 283
 284
 285
 286
 287
 288
 289
 290
 291
 292
 293
 294
 295
 296
 297
 298
 299
 300
 301
 302
 303
 304
 305
 306
 307
 308
 309
 310
 311
 312
 313
 314
 315
 316
 317
 318
 319
 320
 321
 322
 323
 324
 325
 326
 327
 328
 329
 330
 331
 332
 333
 334
 335
 336
 337
 338
 339
 340
 341
 342
 343
 344
 345
 346
 347
 348
 349
 350
 351
 352
 353
 354
 355
 356
 357
 358
 359
 360
 361
 362
 363
 364
 365
 366
 367
 368
 369
 370
 371
 372
 373
 374
 375
 376
 377
 378
 379
 380
 381
 382
 383
 384
 385
 386
 387
 388
 389
 390
 391
 392
 393
 394
 395
 396
 397
 398
 399
 400
 401
 402
 403
 404
 405
 406
 407
 408
 409
 410
 411
 412
 413
 414
 415
 416
 417
 418
 419
 420
 421
 422
 423
 424
 425
 426
 427
 428
 429
 430
 431
 432
 433
 434
 435
 436
 437
 438
 439
 440
 441
 442
 443
 444
 445
 446
 447
 448
 449
 450
 451
 452
 453
 454
 455
 456
 457
 458
 459
 460
 461
 462
 463
 464
 465
 466
 467
 468
 469
 470
 471
 472
 473
 474
 475
 476
 477
 478
 479
 480
 481
 482
 483
 484
 485
 486
 487
 488
 489
 490
 491
 492
 493
 494
 495
 496
 497
 498
 499
 500
 501
 502
 503
 504
 505
 506
 507
 508
 509
 510
 511
 512
 513
 514
 515
 516
 517
 518
 519
 520
 521
 522
 523
 524
 525
 526
 527
 528
 529
 530
 531
 532
 533
 534
 535
 536
 537
 538
 539
 540
 541
 542
 543
 544
 545
 546
 547
 548
 549
 550
 551
 552
 553
 554
 555
 556
 557
 558
 559
 560
 561
 562
 563
 564
 565
 566
 567
 568
 569
 570
 571
 572
 573
 574
 575
 576
 577
 578
 579
 580
 581
 582
 583
 584
 585
 586
 587
 588
 589
 590
 591
 592
 593
 594
 595
 596
 597
 598
 599
 600
 601
 602
 603
 604
 605
 606
 607
 608
 609
 610
 611
 612
 613
 614
 615
 616
 617
 618
 619
 620
 621
 622
 623
 624
 625
 626
 627
 628
 629
 630
 631
 632
 633
 634
 635
 636
 637
 638
 639
 640
 641
 642
 643
 644
 645
 646
 647
 648
 649
 650
 651
 652
 653
 654
 655
 656
 657
 658
 659
 660
 661
 662
 663
 664
 665
 666
 667
 668
 669
 670
 671
 672
 673
 674
 675
 676
 677
 678
 679
 680
 681
 682
 683
 684
 685
 686
 687
 688
 689
 690
 691
 692
 693
 694
 695
 696
 697
 698
 699
 700
 701
 702
 703
 704
 705
 706
 707
 708
 709
 710
 711
 712
 713
 714
 715
 716
 717
 718
 719
 720
 721
 722
 723
 724
 725
 726
 727
 728
 729
 730
 731
 732
 733
 734
 735
 736
 737
 738
 739
 740
 741
 742
 743
 744
 745
 746
 747
 748
 749
 750
 751
 752
 753
 754
 755
 756
 757
 758
 759
 760
 761
 762
 763
 764
 765
 766
 767
 768
 769
 770
 771
 772
 773
 774
 775
 776
 777
 778
 779
 780
 781
 782
 783
 784
 785
 786
 787
 788
 789
 790
 791
 792
 793
 794
 795
 796
 797
 798
 799
 800
 801
 802
 803
 804
 805
 806
 807
 808
 809
 810
 811
 812
 813
 814
 815
 816
 817
 818
 819
 820
 821
 822
 823
 824
 825
 826
 827
 828
 829
 830
 831
 832
 833
 834
 835
 836
 837
 838
 839
 840
 841
 842
 843
 844
 845
 846
 847
 848
 849
 850
 851
 852
 853
 854
 855
 856
 857
 858
 859
 860
 861
 862
 863
 864
 865
 866
 867
 868
 869
 870
 871
 872
 873
 874
 875
 876
 877
 878
 879
 880
 881
 882
 883
 884
 885
 886
 887
 888
 889
 890
 891
 892
 893
 894
 895
 896
 897
 898
 899
 900
 901
 902
 903
 904
 905
 906
 907
 908
 909
 910
 911
 912
 913
 914
 915
 916
 917
 918
 919
 920
 921
 922
 923
 924
 925
 926
 927
 928
 929
 930
 931
 932
 933
 934
 935
 936
 937
 938
 939
 940
 941
 942
 943
 944
 945
 946
 947
 948
 949
 950
 951
 952
 953
 954
 955
 956
 957
 958
 959
 960
 961
 962
 963
 964
 965
 966
 967
 968
 969
 970
 971
 972
 973
 974
 975
 976
 977
 978
 979
 980
 981
 982
 983
 984
 985
 986
 987
 988
 989
 990
 991
 992
 993
 994
 995
 996
 997
 998
 999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
class Model(  # type: ignore[misc]
        ModelDisplayMixin,
        DataClassBase[_RootT],
        pyd.GenericModel,
        Generic[_RootT],
        metaclass=ModelMetaclass,
):
    """A data model containing a value parsed according to the model.

    If no value is provided, the value is set to the default value of the data model, found by
    calling the model class without parameters, e.g. `int()`.

    Model is a generic class that cannot be instantiated directly. Instead, a Model class needs
    to be specialized with a data type before Model objects can be instantiated. A data model
    functions as a data parser and guarantees that the parsed data follows the specified model.

    Example data model specialized as a class alias::

        MyNumberList = Model[list[int]]

    ... alternatively as a Model subclass::

        class MyNumberList(Model[list[int]]):
            pass

    Once instantiated, a Model object functions as a parser, e.g.::

        my_number_list = MyNumberList([2,3,4])

        my_number_list.content = ['3', 4, True]
        assert my_number_list.content == [3,4,1]

    While the following should raise a `ValidationError`::

        my_number_list.content = ['abc', 'def']

    The Model class is a wrapper class around the powerful `GenericModel` class from pydantic.

    See also docs of the Dataset class for more usage examples.
    """
    @classmethod
    def _get_special_methods_info_dict(cls) -> dict[str, MethodInfo]:
        return SPECIAL_METHODS_INFO_DICT

    __root__: _RootT = pyd.Field(default_factory=undefined_default_factory)

    # TODO: Pydantic v2, see if slots=True can be used for Model and Dataset to reduce memory usage

    class Config:
        arbitrary_types_allowed = True
        validate_all = True
        # validate_assignment = True
        smart_union = True
        # json_loads = orjson.loads
        # json_dumps = orjson_dumps
        use_enum_values = True

    def _get_default_factory(self) -> Callable[[], _RootT]:
        try:
            fixed_default_val = self._get_default_value()
            return lambda: fixed_default_val
        except (ValidationError, TypeError, ValueError):
            return lambda: self._get_default_value()

    @classmethod
    def _get_default_value_from_model(  # noqa: C901
            cls,
            model: type[_RootT] | TypeForm | TypeVar,
    ) -> _RootT:
        model = get_default_if_typevar(model)
        origin_type = get_origin(model)
        args = get_args(model)

        if origin_type is Annotated:
            model = args[0]
            origin_type = get_origin(model)
            args = get_args(model)

        if origin_type in (None, ()):
            origin_type = model

        if origin_type is None:
            origin_type = NoneType

        if origin_type in [Union, UnionType]:
            if any(is_none_type(arg) for arg in args):
                return cast(_RootT, None)

            last_error_holder = LastErrorHolder()
            for arg in args:
                if callable(arg) or isinstance(arg, TypeVar):
                    with last_error_holder:
                        return cls._get_default_value_from_model(arg)
            last_error_holder.raise_derived(TypeError(f'Cannot instantiate model "{model}".'))

        if origin_type is tuple and args and Ellipsis not in args:
            return cast(_RootT, tuple(cls._get_default_value_from_model(arg) for arg in args))

        if origin_type is Literal:
            return args[0]

        if origin_type is Callable:
            return cast(_RootT, lambda: None)

        if origin_type is ForwardRef or type(origin_type) is ForwardRef:
            raise TypeError(f'Cannot instantiate model "{model}". ')

        return cast(_RootT, origin_type())  # type: ignore[misc]

    @classmethod
    def _prepare_cls_members_to_mimic_model(  # noqa: C901
            cls,
            created_model: 'type[Model[_RootT]]',
    ) -> None:
        from omnipy.data._typing.helpers import all_model_type_variants

        outer_types = all_model_type_variants(created_model)

        def _type_supports_method(_type: type | GenericAlias, _method_name: str) -> bool:
            if is_literal_type(_type):
                # Literal types should be considered to support the same
                # methods as their underlying type, e.g. int for Literal[3]
                _type = get_args(_type)[0].__class__
            elif get_args(_type):
                # If type is a specialization of a generic type, e.g.
                # MyList[int], we want to check the methods of the
                # underlying generic type, e.g. MyList, as the
                # specialization of non-builtin types typically does not
                # have any special methods.
                _type = cast(type, get_origin(_type))

            method: Callable | None = getattr(_type, _method_name, None)
            if method is None:
                return False

            # We need to check for e.g. object.__or__, which was added
            # in Python 3.10 for e.g 'str | int' and is supported by
            # all types, but should not be considered as a supported
            # method for the model.

            ALWAYS_SUPPORTED_METHODS = ('__delattr__', '__hash__')

            if (_type is object or is_type_specialization(_type)
                    or _method_name in ALWAYS_SUPPORTED_METHODS):
                return True

            # __objclass__ exists for slot_wrappers (built-ins)
            objclass = getattr(method, '__objclass__', None)
            if objclass is not None:
                # Check if the method is defined on the type itself or
                # inherited from a parent class other than object or type
                return objclass not in (type, object)

            return True

        if any(lenient_isinstance(_type, TypeVar) for _type in outer_types):
            return

        for name, method_info in created_model._get_special_methods_info_dict().items():
            method_defined_before_model = False
            for base in created_model.__mro__:
                if base is Model:
                    break
                if name in base.__dict__:
                    if name == '__hash__' and base.__dict__[name] is None:
                        continue
                    method_defined_before_model = True
                    break

            if method_defined_before_model:
                continue

            names_to_check = (name, '__add__') if name in ('__iadd__', '__radd__') else (name,)
            for type_to_support in outer_types:
                if any(_type_supports_method(type_to_support, _) for _ in names_to_check):
                    setattr(created_model,
                            name,
                            functools.partialmethod(cls._special_method, name, method_info))
                    break

    @override
    def __class_getitem__(  # type: ignore[override]
        cls,
        params: type[_RootT] | tuple[type[_RootT]] | TypeVar | tuple[TypeVar],
    ) -> 'type[Model[_RootT]]':

        model = cls._prepare_params(params)

        orig_model: type[_RootT] | TypeVar = model

        # Populating the root field at runtime instead of providing a __root__ Field explicitly
        # is needed due to the inability of typing/pydantic to provide a dynamic default based on
        # the actual type. The following issue in mypy seems relevant:
        # https://github.com/python/mypy/issues/3737 (as well as linked issues)

        created_model = cast(
            type[Model],
            super().__class_getitem__(model if cls is Model else params),  # type: ignore
        )

        created_model._get_root_field().field_info = deepcopy(
            created_model._get_root_field().field_info)

        if cls is Model and orig_model is not _RootT:  # type: ignore[misc]
            created_model._get_root_field().field_info.extra = {'orig_model': orig_model}

        created_model._inherit_first_orig_model_in_bases_if_missing()

        cls._recursively_set_allow_none(created_model._get_root_field())

        # As long as models are not created concurrently, setting the class members temporarily
        # should not have averse effects
        # TODO: Check if we can move to explicit definition of __root__ field at the object
        #       level in pydantic 2.0 (when it is released)

        if created_model is not cls:
            cleanup_name_qualname_and_module(cls, created_model, orig_model)

        cls._prepare_cls_members_to_mimic_model(created_model)

        return created_model

    @classmethod
    def _inherit_first_orig_model_in_bases_if_missing(cls):
        if cls is not Model:
            for orig_base in get_original_bases(cls):
                if isinstance(orig_base, ModelMetaclass):
                    model_base = cast(type[Model], orig_base)
                    if model_base.__concrete__:
                        model_base._inherit_first_orig_model_in_bases_if_missing()
                        orig_model = model_base.get_orig_model()
                        if orig_model is not Undefined:
                            cls.set_orig_model(orig_model)
                            break

            cls._clean_type_caches()

    if TYPE_CHECKING and TYPE_CHECKER != 'mypy':  # noqa: C901

        # mypy currently does not support overloads of __new__()

        from omnipy.data._typing.mimic_models import (Model_bool,
                                                      Model_bytes,
                                                      Model_Dataset,
                                                      Model_dict,
                                                      Model_float,
                                                      Model_int,
                                                      Model_list,
                                                      Model_set,
                                                      Model_str,
                                                      Model_tuple_pair,
                                                      Model_tuple_same_type)

        @overload
        def __new__(
            cls: 'type[Model[float]]' | 'type[Model[Model[float]]]',
            *args: Any,
            **kwargs: Any,
        ) -> Model_float:
            ...

        @overload
        def __new__(
            cls: 'type[Model[int]]' | 'type[Model[Model[int]]]',
            *args: Any,
            **kwargs: Any,
        ) -> Model_int:
            ...

        @overload
        def __new__(
            cls: 'type[Model[bool]]' | 'type[Model[Model[bool]]]',
            *args: Any,
            **kwargs: Any,
        ) -> Model_bool:
            ...

        @overload
        def __new__(
            cls: 'type[Model[str]]' | 'type[Model[Model[str]]]',
            *args: Any,
            **kwargs: Any,
        ) -> Model_str:
            ...

        @overload
        def __new__(
            cls: 'type[Model[bytes]]' | 'type[Model[Model[bytes]]]',
            *args: Any,
            **kwargs: Any,
        ) -> Model_bytes:
            ...

        @overload
        def __new__(
            cls: 'type[Model[set[_ValT]]]| type[Model[Model[set[_ValT]]]]',
            *args: Any,
            **kwargs: Any,
        ) -> Model_set[_ValT]:
            ...

        @overload
        def __new__(
            cls: 'type[Model[list[_ValT]]]| type[Model[Model[list[_ValT]]]]',
            *args: Any,
            **kwargs: Any,
        ) -> Model_list[_ValT]:
            ...

        @overload
        def __new__(  # pyright: ignore[reportOverlappingOverload]
            cls: 'type[Model[tuple[_ValT, _ValT2]]] | type[Model[Model[tuple[_ValT, _ValT2]]]]',
            *args: Any,
            **kwargs: Any,
        ) -> Model_tuple_pair[_ValT, _ValT2]:
            ...

        @overload
        def __new__(
            cls: 'type[Model[tuple[_ValT, ...]]] | type[Model[Model[tuple[_ValT, ...]]]]',
            *args: Any,
            **kwargs: Any,
        ) -> Model_tuple_same_type[_ValT]:
            ...

        @overload
        def __new__(
            cls: 'type[Model[dict[_KeyT, _ValT]]] | type[Model[Model[dict[_KeyT, _ValT]]]]',
            *args: Any,
            **kwargs: Any,
        ) -> Model_dict[_KeyT, _ValT]:
            ...

        @overload
        def __new__(
            cls: 'type[Model[Dataset[_OtherModelT]]]',
            *args: Any,
            **kwargs: Any,
        ) -> 'Model_Dataset[_OtherModelT]':
            ...

        @overload
        def __new__(
            cls: 'type[Model[Dataset[_DatasetT | _OtherModelT]]]',
            *args: Any,
            **kwargs: Any,
        ) -> 'Model_Dataset[_DatasetT]':
            ...

        @overload
        def __new__(
            cls: 'type[_ModelT]',
            *args: Any,
            **kwargs: Any,
        ) -> '_ModelT':
            ...

        def __new__(
            cls,
            *args: Any,
            **kwargs: Any,
        ) -> 'Model | _ModelT':
            ...
    else:

        def __new__(  # type: ignore[no-redef]
                cls,
                *args: Any,
                **kwargs: Any,
        ) -> Self:
            model_not_specified = ROOT_KEY not in cls.__fields__
            if model_not_specified:
                cls._raise_no_model_exception()

            return super().__new__(cls)

    @classmethod
    def get_orig_model(cls) -> type[_RootT] | UndefinedType:
        if cls.__fields__[ROOT_KEY].field_info and cls.__fields__[ROOT_KEY].field_info.extra:
            return cls.__fields__[ROOT_KEY].field_info.extra.get('orig_model', Undefined)
        return Undefined

    @classmethod
    def set_orig_model(cls, orig_model: TypeForm) -> None:
        cls.__fields__[ROOT_KEY].field_info.extra['orig_model'] = orig_model

    def __init__(  # noqa: C901
        self,
        value: _RootT | object | UndefinedType = Undefined,
        *,
        __root__: _RootT | object | UndefinedType = Undefined,
        **kwargs: _RootT | object,
    ) -> None:
        super_kwargs: dict[str, _RootT] = {}
        num_root_vals = 0

        if value is not Undefined:
            super_kwargs[ROOT_KEY] = cast(_RootT, value)
            num_root_vals += 1

        if __root__ is not Undefined:
            super_kwargs[ROOT_KEY] = cast(_RootT, __root__)
            num_root_vals += 1

        if kwargs:
            super_kwargs[ROOT_KEY] = cast(_RootT, kwargs)
            kwargs = {}
            num_root_vals += 1

        assert num_root_vals <= 1, 'Not allowed to provide root data in more than one argument'

        if self._get_root_field().default_factory is undefined_default_factory:
            self._get_root_field().default_factory = self._get_default_factory()

        dataset_or_model_as_input = False
        if ROOT_KEY in super_kwargs:
            try:
                dataset_or_model_as_input, value = \
                    prepare_value_for_validation_if_dataset_or_model(super_kwargs[ROOT_KEY])
            except Exception as exc:
                val_exc = ValueError(f'Failed to prepare value for validation: {exc}')
                raise ValidationError(
                    [pyd.ErrorWrapper(exc, loc=ROOT_KEY), pyd.ErrorWrapper(val_exc, loc=ROOT_KEY)],
                    self.__class__)
            if dataset_or_model_as_input:
                super_kwargs[ROOT_KEY] = cast(_RootT, value)

        self._init(super_kwargs, **kwargs)

        try:
            self._primary_validation(super_kwargs)
        except ValidationError:
            if dataset_or_model_as_input:
                self._secondary_validation_from_data(super_kwargs)
            else:
                raise

        if not self.__class__.__doc__:
            self._set_standard_field_description()

    def _get_default_value(self) -> _RootT:
        return self.__class__._get_default_value_from_model(self.full_type())

    def _primary_validation(self, super_kwargs):
        # Pydantic validation of super_kwargs
        validate_cls_counts[self.__class__.__name__] += 1
        super().__init__(**super_kwargs)

    def _secondary_validation_from_data(self, super_kwargs):
        super().__init__()
        self.from_data(super_kwargs[ROOT_KEY])

    def _init(self, super_kwargs: dict[str, Any], **kwargs: Any) -> None:
        ...

    def __del__(self):
        content_id = id(self.content)
        self.snapshot_holder.schedule_deepcopy_content_ids_for_deletion(content_id)

    def __copy__(self) -> Self:
        return self.copy(deep=False)

    if TYPE_CHECKING:

        @override
        def __iter__(self) -> Iterator:  # type: ignore[override]
            ...

    def copy(self, *, deep: bool = False, **kwargs) -> Self:
        pydantic_copy = pyd.GenericModel.copy(self, deep=deep, **kwargs)
        if not deep:
            # Shallow copying of the model should not share the same
            # content, as this can lead to unintentional side effects when
            # the content is mutable.
            pydantic_copy.content = copy(pydantic_copy.__dict__[ROOT_KEY])
        return pydantic_copy  # pyright: ignore[reportReturnType]

    @classmethod
    def clone_model_cls(cls, new_model_cls_name: str) -> type[Self]:
        new_model_cls = type(new_model_cls_name, (cls,), {})
        return cast(type[Self], new_model_cls)

    @staticmethod
    def _raise_no_model_exception() -> None:
        raise TypeError('Note: The Model class requires a concrete model to be specified as '
                        'a type hierarchy within brackets either directly, e.g.:\n\n'
                        '\tmodel = Model[list[int]]([1,2,3])\n\n'
                        'or indirectly in a subclass definition, e.g.:\n\n'
                        '\tclass MyNumberList(Model[list[int]]): ...\n\n')

    def _set_standard_field_description(self) -> None:
        self.__fields__[ROOT_KEY].field_info.description = self._get_standard_field_description()

    @classmethod
    def _get_standard_field_description(cls) -> str:
        return ('This class represents a concrete model for data items in the `omnipy` Python '
                'package. It is a statically typed specialization of the Model class, '
                'which is itself wrapping the excellent Python package named `pydantic`.')

    @classmethod
    def validate(cls: type['Model'], value: Any) -> 'Model':
        """
        Hack to allow overwriting of __iter__ method without compromising pydantic validation. Part
        of the pydantic API and not the Omnipy API.
        """
        # TODO: Doublecheck if validate() method is still needed for pydantic v2

        validate_cls_counts[cls.__name__] += 1
        if is_model_instance(value):

            @contextmanager
            def temporary_set_value_iter_to_pydantic_method() -> Iterator[None]:
                prev_iter = value.__class__.__iter__
                value.__class__.__iter__ = pyd.GenericModel.__iter__  # type: ignore[method-assign]

                try:
                    yield
                finally:
                    value.__class__.__iter__ = prev_iter  # type: ignore[method-assign]

            with temporary_set_value_iter_to_pydantic_method():
                return super().validate(value)
        else:
            return super().validate(value)

    @classmethod
    def update_forward_refs(
        cls,
        calling_module: str | None = None,
        prev_visited_classes: set[type] | None = None,
        **localns: Any,
    ) -> None:
        if prev_visited_classes is None:
            prev_visited_classes = set()
        elif cls in prev_visited_classes:
            return

        # Merge the namespaces of the Model's own module and the calling
        # module to the local namespace for evaluation of forward
        # references, which is necessary for cases where the Model is
        # defined in a different module than where it is used, e.g. when
        # the Model is defined in a library and used by a user in their
        # own code.
        if calling_module is None:
            calling_module = get_calling_module_name()
        own_module_ns, globalns = \
            build_own_module_and_global_namespace_for_forward_refs(cls, calling_module, **localns)

        prev_outer_type = cls._get_root_field().outer_type_
        prev_type = cls._get_root_field().type_

        super().update_forward_refs(**globalns)

        cls._get_root_field().outer_type_ = evaluate_any_forward_refs_if_possible(
            prev_outer_type, **globalns)
        cls._get_root_field().type_ = evaluate_any_forward_refs_if_possible(prev_type, **globalns)
        cls.set_orig_model(evaluate_any_forward_refs_if_possible(cls.get_orig_model(), **globalns))
        if ROOT_KEY in cls.__annotations__:
            cls.__annotations__[ROOT_KEY] = evaluate_any_forward_refs_if_possible(
                cls.__annotations__[ROOT_KEY], **globalns)

        cls._clean_type_caches()

        cls._recursively_set_allow_none(cls._get_root_field())

        cls._prepare_cls_members_to_mimic_model(cls)

        prev_visited_classes.add(cls)

        # Propagate update_forward_refs to parent models but retaining the
        # same calling module. This is needed to ensure the correct
        # context is used to resolve forward references in complex
        # inheritance hierarchies.
        #
        # We explicitly call `update_forward_refs` on immediate parent
        # classes (`__bases__`) instead of relying solely on
        # `super().update_forward_refs()`. This is because `super()`
        # inside this classmethod resolves relative to `Model` in the MRO,
        # silently bypassing custom logic on any intermediate `Model`
        # subclasses. Explicitly propagating through `__bases__` ensures
        # that class-level setups are correctly applied to all parents
        # exactly once, efficiently preventing redundant updates.
        for base in cls.__bases__:
            if is_model_subclass(base) and base is not Model:
                # Merge the current class's own module namespace into
                # localns before propagating, so that pydantic-generated
                # parametrized base classes (which have
                # __module__='omnipy.data.model' rather than the defining
                # module) can still resolve forward refs that only exist
                # in the defining module's namespace.

                extra_ns: dict[str, Any] = {}
                extra_ns.update(**own_module_ns)
                extra_ns.update(**localns)

                base.update_forward_refs(
                    calling_module=calling_module,
                    prev_visited_classes=prev_visited_classes,
                    **extra_ns,
                )

        cls.__name__ = remove_forward_ref_notation(cls.__name__)
        cls.__qualname__ = remove_forward_ref_notation(cls.__qualname__)

    def validate_content(self) -> None:
        self._validate_and_set_value(self.content)

    def _validate_and_set_value(
        self,
        new_content: object,
        reset_solution: ContextManager[None] | None = None,
        lazy_snapshot_if_possible: bool = False,
    ) -> None:

        old_content_id = id(self.content)

        def _set_new_content(content: object) -> None:
            if id(content) != old_content_id:
                self.content = content  # type: ignore[assignment]

        self._generic_validate_content(
            new_content=new_content,
            outer_reset_solution=reset_solution,
            post_validation_func=_set_new_content,
            lazy_snapshot_if_possible=lazy_snapshot_if_possible,
        )

    def _prepare_reset_solution_take_snapshot_if_needed(
        self,
        /,
    ) -> ResetSolutionTuple:
        snapshot_taken = False
        if self.config.model.interactive:
            # TODO: Lazy snapshotting causes unneeded double validation for data that is later
            #       validated for snapshot. Perhaps add a dirty flag to snapshot that can be used
            #       to determine if re-validation is needed? This can also help avoid equality
            #       tests, which might be expensive for large data structures.
            needs_pre_validation = (not self.has_snapshot()
                                    or not self.content_validated_according_to_snapshot())
            if needs_pre_validation:
                internal_reset_solution = self._get_reset_solution()
                with internal_reset_solution:
                    self._validate_and_set_value(
                        self.content, reset_solution=internal_reset_solution)
                    snapshot_taken = True

        return ResetSolutionTuple(
            reset_solution=self._get_reset_solution(),
            snapshot_taken=snapshot_taken,
        )

    def _get_reset_solution(self) -> ContextManager[None]:
        if self.config.model.interactive and self.has_snapshot():
            return self._get_revert_to_snapshot_reset_solution()
        else:
            return nothing()

    def _get_revert_to_snapshot_reset_solution(self) -> ContextManager[None]:
        prev_deepcopy_content_ids = SetDeque[int]()

        def _setup():
            prev_deepcopy_content_ids.extend(self.snapshot_holder.get_deepcopy_content_ids())

        def _handle_exception():
            new_deepcopy_content_ids = SetDeque[int](
                self.snapshot_holder.get_deepcopy_content_ids())
            new_deepcopy_content_ids.extend(prev_deepcopy_content_ids)
            self.snapshot_holder.schedule_deepcopy_content_ids_for_deletion(
                *new_deepcopy_content_ids)
            # self.content = self.snapshot_holder.get_snapshot_deepcopy(self)
            self.content = deepcopy(self.snapshot)

        return setup_and_teardown_callback_context(
            setup_func=_setup,
            exception_func=_handle_exception,
        )

    def _generic_validate_content(
        self,
        /,
        new_content: object,
        outer_reset_solution: ContextManager[None] | None = None,
        post_validation_func: Callable[[_RootT], None] | None = None,
        lazy_snapshot_if_possible: bool = False,
    ) -> None:
        keep_alive_old_content = self.content  # To ensure old content ids are not reused

        inner_reset_solution: ContextManager[None]
        if outer_reset_solution:
            inner_reset_solution = nothing()
        else:
            validating_self = new_content is self.content
            reset_solution_tuple = self._prepare_reset_solution_take_snapshot_if_needed()
            if validating_self and reset_solution_tuple.snapshot_taken:
                return
            inner_reset_solution = reset_solution_tuple.reset_solution

        with (inner_reset_solution):
            validated_content = self._validate_content_from_value(new_content)

            if validated_content is new_content:
                validated_content = copy(validated_content)

            if post_validation_func:
                post_validation_func(validated_content)
        del inner_reset_solution

        del new_content
        if self.has_snapshot() or not lazy_snapshot_if_possible:
            self._take_snapshot_of_validated_content()

        del keep_alive_old_content

    def _validate_content_from_value(
        self,
        value: object,
    ) -> _RootT:
        _, value = prepare_value_for_validation_if_dataset_or_model(value)

        values, _, validation_error = pyd.validate_model(self.__class__, {ROOT_KEY: value})
        if validation_error:
            raise validation_error

        return values[ROOT_KEY]

    @property
    def snapshot(self) -> _RootT:
        snapshot_wrapper = self._get_snapshot_wrapper()
        assert snapshot_wrapper.id == id(self)
        return snapshot_wrapper.snapshot

    def has_snapshot(self) -> bool:
        return self in self.snapshot_holder

    def _get_snapshot_wrapper(self) -> IsSnapshotWrapper[IsModel, _RootT]:
        assert self.has_snapshot(), 'No snapshot taken yet'
        return self.snapshot_holder[self]

    def snapshot_taken_of_same_model(self, model: 'Model') -> bool:
        snapshot_wrapper = self._get_snapshot_wrapper()
        return snapshot_wrapper.taken_of_same_obj(model)

    def snapshot_differs_from_model(self, model: 'Model') -> bool:
        snapshot_wrapper = self._get_snapshot_wrapper()
        return snapshot_wrapper.differs_from(model.content)

    def content_validated_according_to_snapshot(self) -> bool:
        needs_validation = self.snapshot_differs_from_model(self) \
            or not self.snapshot_taken_of_same_model(self)
        return not needs_validation

    def _take_snapshot_of_validated_content(self) -> None:
        if self.config.model.interactive:
            with self.deepcopy_context(self.snapshot_holder.take_snapshot_setup,
                                       self.snapshot_holder.take_snapshot_teardown):
                self.snapshot_holder.take_snapshot(self)

    @classmethod
    def _parse_data(cls, data: Any) -> _RootT:
        return data

    # TODO: See if it is possible to support general mappings similarly to iterables (in Model)
    #       (note: this is an old TODO, it is unclear what exactly is not supported...)
    @pyd.root_validator(pre=True)
    def _generous_iterable_support(cls, root_obj: dict[str, _RootT | None]) -> Any:
        if ROOT_KEY in root_obj:
            value = root_obj[ROOT_KEY]
            outer_type = cls.outer_type()
            if (lenient_issubclass(outer_type, Iterable)
                    and not lenient_isinstance(value, outer_type)  # type: ignore[arg-type]
                    and is_non_str_byte_iterable(value)
                    # Leave the types below for pydantic to handle
                    and not pyd.sequence_like(value)
                    # Also, exclude mappings
                    and not isinstance(value, Mapping)):
                return {ROOT_KEY: (_ for _ in value)}
        return root_obj

    @pyd.root_validator
    def _parse_root_object(cls, root_obj: dict[str, _RootT | None]) -> Any:
        assert ROOT_KEY in root_obj
        value = root_obj[ROOT_KEY]
        value = parse_none_according_to_model(value, root_model=cls)

        config = cls.data_class_creator.config  # type: ignore[attr-defined]
        with hold_and_reset_prev_attrib_value(config.model,
                                              'dynamically_convert_elements_to_models'):
            config.model.dynamically_convert_elements_to_models = False
            return {ROOT_KEY: cls._parse_data(value)}

    # TODO: Rename Model.content to Model.content as it may be a single value, while "content"
    #       implies a countable collection of values
    @property
    def content(self) -> _RootT:
        return cast(_RootT, self.__dict__.get(ROOT_KEY))

    @content.setter
    def content(self, value: _RootT) -> None:
        """
        Sets the content of the model. Note: in contrast to the `__init__()`, `from_data()` and
        `from_json()` methods, the content are not validated automatically. To validate the
        content, call the `validate_content()` method explicitly.
        """
        super().__setattr__(ROOT_KEY, value)

    def to(self, model_cls: type[_OtherModelT]) -> _OtherModelT:
        return model_cls(self)

    def do(self, placeholder: F) -> Any:
        return placeholder(self)

    def dict(self, *args, **kwargs) -> dict[str, object]:
        return {ROOT_KEY: self.to_data()}

    # TODO: Improve typing of to_data/from_data. Should be limited to JSON types at least, but also
    #       `_RootT` for simple models (without submodels). Handling Submodels is tricky, and may
    #       not be possible, e.g. `Model[list[Model[int]]().to_data()` should be type `list[int]`.
    #       A possibility is to support manually providing proper to_data, e.g. through
    #       Generic Mixin class, e.g.:
    #       ```python
    #       class MyModel(Model[list[Model[int]]], ModelData[list[int]]):
    #          ...
    #       ```
    def to_data(self) -> object:
        return super().dict(by_alias=True)[ROOT_KEY]

    def _empty_from_data(self, value: object) -> None:
        @contextmanager
        def _reset_to_default(*args, **kwds):
            self.content = self._get_default_value_from_model(self.full_type())
            yield

        self._validate_and_set_value(
            value, reset_solution=_reset_to_default(), lazy_snapshot_if_possible=True)

    def from_data(self, data: Any) -> None:
        if self.content == self._get_default_value_from_model(self.full_type()):
            self._empty_from_data(data)
        else:
            self._validate_and_set_value(data)

    def absorb_and_replace(self, other: 'Model'):
        self.from_data(other.to_data())

    def to_json(self, pretty=True) -> str:
        json_content = pyd.BaseModel.json(self)
        if pretty:
            return self._pretty_print_json(json.loads(json_content))
        else:
            return json_content

    def from_json(self, json_content: str) -> None:
        new_model = self.parse_raw(json_content, proto=pyd.Protocol.json)
        self.content = new_model.content

    @classmethod
    @functools.cache
    def inner_type(cls, with_args: bool = False) -> TypeForm:
        return cls._get_root_type(outer=False, with_args=with_args)

    @classmethod
    @functools.cache
    def outer_type(cls, with_args: bool = False) -> TypeForm:
        return cls._get_root_type(outer=True, with_args=with_args)

    @classmethod
    @functools.cache
    def full_type(cls) -> type[_RootT]:
        return cast(type[_RootT], cls.outer_type(with_args=True))

    @classmethod
    @functools.cache
    def is_nested_type(cls) -> bool:
        return not cls.inner_type(with_args=True) == cls.outer_type(with_args=True)

    @classmethod
    def _clean_type_caches(cls):
        cls._get_root_type.cache_clear()
        cls.outer_type.cache_clear()
        cls.inner_type.cache_clear()
        cls.full_type.cache_clear()
        cls.is_nested_type.cache_clear()

    @classmethod
    def _get_root_field(cls) -> pyd.ModelField:
        return cast(pyd.ModelField, cls.__fields__.get(ROOT_KEY))

    @classmethod
    @functools.cache
    def _get_root_type(cls, outer: bool, with_args: bool) -> TypeForm:
        root_field = cls._get_root_field()
        root_type = root_field.outer_type_ if outer else root_field.type_

        orig_model = cls.get_orig_model()
        if orig_model != Undefined:
            if not is_optional(root_type) and is_optional(orig_model):
                if outer:
                    root_type = Optional[root_type]
                else:
                    root_type = Optional[root_field.outer_type_]

        return root_type if with_args else ensure_plain_type(root_type)

    # @classmethod
    # def create_from_json(cls, data: str | tuple[str]):
    #     if isinstance(data, tuple):
    #         data = data[0]
    #
    #     obj = cls()
    #     obj.from_json(data)
    #     return obj
    #
    # def __reduce__(self):
    #     return self.__class__.create_from_json, (self.to_json(),)

    @classmethod
    def to_json_schema(cls, pretty=True) -> str:
        schema = cls.schema()
        if 'orig_model' in schema:
            del schema['orig_model']

        if pretty:
            return cls._pretty_print_json(schema)
        else:
            return json.dumps(schema)

    @staticmethod
    def _pretty_print_json(json_content: Any) -> str:
        return json.dumps(json_content, indent=2)

    def _check_for_root_key(self) -> None:
        if ROOT_KEY not in self.__dict__:
            raise TypeError('The Model class requires the specific model to be specified in as '
                            'a type hierarchy within brackets either directly, e.g.:\n'
                            '\t"model = Model[list[int]]([1,2,3])"\n'
                            'or indirectly in a subclass definition, e.g.:\n'
                            '\t"class MyNumberList(Model[list[int]]): ..."')

    def __setattr__(self, attr: str, value: Any) -> None:
        if attr in ['__module__'] + list(self.__dict__.keys()) and attr not in [ROOT_KEY]:
            super().__setattr__(attr, value)
        else:
            match (attr):
                case 'content':
                    content_prop = getattr(self.__class__, attr)
                    old_content_id = id(content_prop.__get__(self))
                    is_new_content = id(value) != old_content_id

                    if is_new_content:
                        content_prop.__set__(self, value)

                        if self.config.model.interactive and self.has_snapshot():
                            self.snapshot_holder.schedule_deepcopy_content_ids_for_deletion(
                                old_content_id)
                case 'repr_state':
                    prop = getattr(self.__class__, attr)
                    prop.__set__(self, value)
                case _:
                    if self._is_non_omnipy_pydantic_model():
                        self._special_method(
                            '__setattr__',
                            MethodInfo(state_changing=True, returns_same_type=YesNoMaybe.NO),
                            attr,
                            value)
                    else:
                        raise RuntimeError('Model does not allow setting of extra attributes')

    def _special_method(  # noqa: C901
            self, name: str, info: MethodInfo, *args: object, **kwargs: object) -> object:

        if info.state_changing:

            def _call_special_method_and_return_self_if_inplace(*inner_args: object,
                                                                **inner_kwargs: object) -> object:
                return_val = self._call_special_method(name, *inner_args, **inner_kwargs)

                # In-place operators should return self, which here includes the wrapping Model obj
                # The following is to avoid _convert_to_model_if_reasonable() to be called below,
                # which would otherwise create a new Model instance and return it
                if id(return_val) == id(self.content):  # in-place operator, e.g. model += 1
                    return_val = self

                return return_val

            reset_solution = self._prepare_reset_solution_take_snapshot_if_needed().reset_solution
            with reset_solution:
                ret = _call_special_method_and_return_self_if_inplace(*args, **kwargs)
                if ret is NotImplemented:
                    return ret

                self._validate_and_set_value(
                    new_content=self.content,
                    reset_solution=reset_solution,
                )

        elif name == '__iter__' and isinstance(self, Iterable) and not hasattr(self, 'keys'):
            _per_element_model_generator = self._get_convert_full_element_model_generator(
                cast(Iterable, self.content),  # level_up_type_arg_idx=0,
            )
            return _per_element_model_generator()
        else:
            ret = self._call_special_method(name, *args, **kwargs)
            if ret is NotImplemented:
                return ret

            if info.state_changing:
                self.validate_content()

        if id(ret) != id(self) and info.returns_same_type:
            level_up = False
            if name == '__getitem__':
                assert len(args) == 1
                if not isinstance(args[0], slice) and not is_non_str_byte_iterable(args[0]):
                    level_up = True

            # We can do this with some ease of mind as all the methods except '__getitem__' with
            # integer argument are supposed to possibly return a result of the same type.
            ret = self._convert_to_model_if_reasonable(
                ret,
                level_up=level_up,
                raise_validation_errors=(info.returns_same_type == YesNoMaybe.YES),
            )

        return ret

    def _call_special_method(  # noqa: C901
            self,
            name: str,
            *args: object,
            **kwargs: object,
    ) -> object:
        content = self.content

        has_add_method = self._content_obj_hasattr('__add__')
        has_radd_method = self._content_obj_hasattr('__radd__')
        has_iadd_method = self._content_obj_hasattr('__iadd__')

        if name == '__add__' and has_add_method:

            def _add(other) -> object:
                # try:
                #     return content.__add__(self.__class__(other).content)
                # except ValidationError:
                return content.__add__(other)  # type: ignore[operator]

            # return _add_new_other_model(*args, **kwargs)
            method = _add
            return self._call_single_arg_method_with_model_converted_other_first(
                name, method, *args, model_converted_other_method=None, **kwargs)

        elif name == '__radd__' and (has_radd_method or has_add_method):

            def _radd(other) -> object:
                if has_radd_method:
                    ret = content.__radd__(other)  # type: ignore[attr-defined]
                    if ret is NotImplemented and has_add_method:
                        return content.__add__(other)  # type: ignore[operator]
                    return ret
                else:
                    return content.__add__(other)  # type: ignore[operator]

            def _radd_model_converted_other(other) -> object:
                other_content = self.__class__(other).content
                if has_radd_method:
                    ret = content.__radd__(other_content)  # type: ignore[attr-defined]
                    if ret is NotImplemented and has_add_method:
                        return other_content.__add__(content)  # type: ignore[operator]
                    return ret
                else:
                    return other_content.__add__(content)  # type: ignore[operator]

            method = _radd
            model_converted_other_method = _radd_model_converted_other
            return self._call_single_arg_method_with_model_converted_other_first(
                name,
                method,
                *args,
                model_converted_other_method=model_converted_other_method,
                **kwargs,
            )

        elif name == '__iadd__' and (has_iadd_method or has_add_method):

            def _iadd(other) -> object:
                if has_iadd_method:
                    ret = content.__iadd__(other)  # type: ignore[attr-defined]
                    if ret is NotImplemented and has_add_method:
                        return content.__add__(other)  # type: ignore[operator]
                    return ret
                else:
                    return content.__add__(other)  # type: ignore[operator]

            method = _iadd
            return self._call_single_arg_method_with_model_converted_other_first(
                name, method, *args, model_converted_other_method=None, **kwargs)
        else:
            try:
                method = cast(Callable, self._getattr_from_content_obj(name))
            except AttributeError as e:
                if name in ('__int__', '__float__', '__complex__'):
                    raise ValueError from e
                if name == '__len__':
                    raise TypeError(f"object of type '{self.__class__.__name__}' has no len()")
                else:
                    return NotImplemented

            if name == '__hash__' and method is None:
                raise TypeError(f'unhashable type: {self.__class__.__name__}')

            if name in ['__setitem__', '__setattr__']:
                key, value = args
                _, value = prepare_value_for_validation_if_dataset_or_model(value)
                args = (key, value)

                self_convert_args_if_failure = False
            else:
                self_convert_args_if_failure = True

            if name == '__getitem__' and is_model_instance(content):
                # If propagating a __getitem__ to a nested model, propagate
                # also the `dynamically_convert_elements_to_models` setting
                # as it is activated only at the innermost level (when
                # content is no longer a Model.
                reset_dyn_convert_els_to_models = False
            else:
                reset_dyn_convert_els_to_models = True

            return self._call_method(
                method,
                self_convert_args_if_failure,
                reset_dyn_convert_els_to_models,
                *args,
                **kwargs,
            )

    def _call_single_arg_method_with_model_converted_other_first(
        self,
        name: str,
        method: Callable,
        *args: object,
        model_converted_other_method: Callable | None = None,
        **kwargs: object,
    ):
        if len(args) != 1:
            raise TypeError(f'expected 1 argument, got {len(args)}')

        if len(kwargs) > 0:
            raise TypeError(f'method {name} takes no keyword arguments')

        arg = args[0]

        try:
            try:
                if model_converted_other_method:
                    return model_converted_other_method(arg)
                else:
                    return method(self.__class__(arg).content, **kwargs)
            except (ValidationError, TypeError):
                # TODO: Add debug logging for hidden validation and other exceptions e.g. when
                #       concatenating `Model[int](123) + '234.'` (gives TypeError:
                #       unsupported operand type(s) for +: 'Model[int]' and 'str'). ?
                #       `Model[int](123) + '234'` works fine, returns `Model[int]('357')`.
                return method(arg)
        except TypeError:
            return NotImplemented

    def _call_method(  # noqa: C901
        self,
        method: Callable,
        self_convert_args_if_failure: bool,
        reset_dyn_convert_els_to_models: bool,
        *args: object,
        **kwargs: object,
    ):
        with hold_and_reset_prev_attrib_value(
                self.config.model,
                'dynamically_convert_elements_to_models',
        ):
            if reset_dyn_convert_els_to_models:
                self.config.model.dynamically_convert_elements_to_models = False

            try:
                ret = method(*args, **kwargs)
                # TODO: Do not call methods with model_converted_args where
                #       it does not make sense, e.g. by adding a field
                #       possibly_self_type_as_input in `MethodInfo`
            except TypeError as type_exc:
                if not self_convert_args_if_failure:
                    raise
                try:
                    ret = self._call_method_with_model_converted_args(method, *args, **kwargs)
                except ValidationError:
                    raise type_exc

            if ret is NotImplemented:
                if self_convert_args_if_failure:
                    try:
                        ret = self._call_method_with_model_converted_args(method, *args, **kwargs)
                    except ValidationError:
                        pass

            return ret

    def _call_method_with_model_converted_args(
        self,
        method: Callable,
        *args: object,
        **kwargs: object,
    ):
        model_args = [self.__class__(arg).content for arg in args]
        return method(*model_args, **kwargs)

    def _get_convert_full_element_model_generator(
        self,
        elements: Iterable,
    ) -> Callable[..., Generator]:
        def _convert_full_element_model_generator(elements=elements):
            for el in elements:
                yield self._convert_to_model_if_reasonable(el, level_up=True)

        return _convert_full_element_model_generator

    def _get_convert_element_value_model_generator(self,
                                                   elements: Iterable) -> Callable[..., Generator]:
        def _convert_element_value_model_generator(elements=elements):
            for el in elements:
                yield (
                    el[0],
                    self._convert_to_model_if_reasonable(el[1], level_up=True),
                )

        return _convert_element_value_model_generator

    def _convert_to_model_if_reasonable(  # noqa: C901
        self,
        ret: Mapping[_KeyT, _ValT] | Iterable[_ValT] | _ReturnT | _RootT,
        level_up: bool = False,
        raise_validation_errors: bool = False,
    ) -> 'Model[_KeyT] | Model[_ValT] | Model[tuple[_KeyT, _ValT]] | Model[_ReturnT] | Model[_RootT] | _ReturnT':  # noqa: E501
        from omnipy.data._typing.helpers import all_model_type_variants

        if level_up and not self.config.model.dynamically_convert_elements_to_models:
            ...
        else:
            for type_to_check in all_model_type_variants(self):
                plain_type_to_check = ensure_plain_type(type_to_check)
                if plain_type_to_check in (ForwardRef, TypeVar, None):
                    continue

                if level_up:  # from above: dynamically_convert_elements_to_models == True
                    type_args = get_args(type_to_check)
                    if type_args:
                        # Assuming last type argument is the type of value of the container
                        value_arg_type = type_args[-1]

                        for level_up_type_to_check in all_type_variants(value_arg_type):
                            level_up_type_to_check = self._fix_tuple_type_from_args(
                                level_up_type_to_check)
                            # Only non-Models content considered for dynamic conversion
                            if not is_model_instance(ret) and self._is_instance_or_literal(
                                    ret,
                                    ensure_plain_type(level_up_type_to_check),
                                    level_up_type_to_check,
                            ):
                                try:
                                    return Model[level_up_type_to_check](ret)  # type: ignore
                                except ValidationError:
                                    if raise_validation_errors:
                                        raise
                                except TypeError:
                                    pass

                else:
                    if self._is_instance_or_literal(
                            ret,
                            plain_type_to_check,
                            type_to_check,
                    ):
                        try:
                            return self.__class__(ret)
                        except ValidationError:
                            if raise_validation_errors:
                                raise
                        except TypeError:
                            pass

        return cast(_ReturnT, ret)

    @staticmethod
    def _is_instance_or_literal(obj: object, plain_type: type, raw_type: type | GenericAlias):
        if plain_type is Literal:
            args = get_args(raw_type)
            for arg in args:
                if obj == arg:
                    return True
            return False
        else:
            return lenient_isinstance(obj, plain_type)

    def _fix_tuple_type_from_args(
        self, level_up_type_to_check: type | GenericAlias | tuple[type | GenericAlias, ...]
    ) -> type | GenericAlias:
        if isinstance(level_up_type_to_check, tuple):
            match len(level_up_type_to_check):
                case 1:
                    return level_up_type_to_check[0]
                case _:
                    return tuple[level_up_type_to_check]  # type: ignore[valid-type]
        else:
            return level_up_type_to_check

    if not TYPE_CHECKING:

        def __getattr__(self, attr: str) -> Any:
            if self._is_non_omnipy_pydantic_model() and self._content_obj_hasattr(attr):
                self._validate_and_set_value(self.content)

            content_attr = self._getattr_from_content_obj(attr)

            if inspect.isroutine(content_attr):
                method_info = self.__class__._get_special_methods_info_dict().get(attr)
                is_read_only_method = (
                    method_info and not method_info.state_changing
                    or attr in ('items', 'values', 'keys'))

                if not is_read_only_method:
                    reset_solution = \
                        self._prepare_reset_solution_take_snapshot_if_needed().reset_solution
                    new_content_attr: Callable = cast(Callable,
                                                      self._getattr_from_content_obj(attr))

                    def _validate_content(ret: Any):
                        self._validate_and_set_value(self.content, reset_solution=reset_solution)
                        return self._convert_to_model_if_reasonable(
                            ret,
                            level_up=False,
                            raise_validation_errors=False,
                        )

                    content_attr = add_callback_after_call(new_content_attr,
                                                           _validate_content,
                                                           reset_solution)

            if attr in ('values', 'items'):
                match attr:
                    case 'values':
                        _model_generator = self._get_convert_full_element_model_generator(())
                    case 'items':
                        _model_generator = self._get_convert_element_value_model_generator(())

                content_attr = add_callback_after_call(
                    cast(Callable, content_attr),
                    _model_generator,
                    no_context,
                )

            return content_attr

    def _is_non_omnipy_pydantic_model(self) -> bool:
        return is_non_omnipy_pydantic_model(self.content)

    def _content_obj_hasattr(self, attr) -> object:
        return hasattr(self.content, attr)

    def _getattr_from_content_obj(self, attr) -> object:
        return getattr(self.content, attr)

    def _getattr_from_content_cls(self, attr) -> object:
        return getattr(self.content.__class__, attr)

    # def _get_real_content(self) -> object:
    #     if is_model_instance(self.content):
    #         return self.content.content
    #     else:
    #         return self.content

    def __eq__(self, other: object) -> bool:
        if is_model_instance(other):
            return (self.__class__ == other.__class__ and all_equals(self.content, other.content))
            # and self.to_data() == other.to_data()  # last line is just in case
        else:
            return False

    def __bool__(self):
        if self.content:
            return True
        else:
            return False

    def __call__(self, *args: object, **kwargs: object) -> object:
        if not self._content_obj_hasattr('__call__'):
            raise TypeError(f"'{self.__class__.__name__}' object is not callable")
        return self._special_method(
            '__call__',
            MethodInfo(state_changing=True, returns_same_type=YesNoMaybe.NO),
            *args,
            **kwargs)

    def __repr_args__(self):
        return [(None, self.content)]

content property writable

content: _RootT

snapshot property

snapshot: _RootT

Config

ATTRIBUTE DESCRIPTION
arbitrary_types_allowed

smart_union

use_enum_values

validate_all

Source code in src/omnipy/data/model.py
class Config:
    arbitrary_types_allowed = True
    validate_all = True
    # validate_assignment = True
    smart_union = True
    # json_loads = orjson.loads
    # json_dumps = orjson_dumps
    use_enum_values = True

arbitrary_types_allowed class-attribute instance-attribute

arbitrary_types_allowed = True

smart_union class-attribute instance-attribute

smart_union = True

use_enum_values class-attribute instance-attribute

use_enum_values = True

validate_all class-attribute instance-attribute

validate_all = True

__init__

__init__(
    value: _RootT | object | UndefinedType = Undefined,
    *,
    __root__: _RootT | object | UndefinedType = Undefined,
    **kwargs: _RootT | object,
) -> None
Source code in src/omnipy/data/model.py
def __init__(  # noqa: C901
    self,
    value: _RootT | object | UndefinedType = Undefined,
    *,
    __root__: _RootT | object | UndefinedType = Undefined,
    **kwargs: _RootT | object,
) -> None:
    super_kwargs: dict[str, _RootT] = {}
    num_root_vals = 0

    if value is not Undefined:
        super_kwargs[ROOT_KEY] = cast(_RootT, value)
        num_root_vals += 1

    if __root__ is not Undefined:
        super_kwargs[ROOT_KEY] = cast(_RootT, __root__)
        num_root_vals += 1

    if kwargs:
        super_kwargs[ROOT_KEY] = cast(_RootT, kwargs)
        kwargs = {}
        num_root_vals += 1

    assert num_root_vals <= 1, 'Not allowed to provide root data in more than one argument'

    if self._get_root_field().default_factory is undefined_default_factory:
        self._get_root_field().default_factory = self._get_default_factory()

    dataset_or_model_as_input = False
    if ROOT_KEY in super_kwargs:
        try:
            dataset_or_model_as_input, value = \
                prepare_value_for_validation_if_dataset_or_model(super_kwargs[ROOT_KEY])
        except Exception as exc:
            val_exc = ValueError(f'Failed to prepare value for validation: {exc}')
            raise ValidationError(
                [pyd.ErrorWrapper(exc, loc=ROOT_KEY), pyd.ErrorWrapper(val_exc, loc=ROOT_KEY)],
                self.__class__)
        if dataset_or_model_as_input:
            super_kwargs[ROOT_KEY] = cast(_RootT, value)

    self._init(super_kwargs, **kwargs)

    try:
        self._primary_validation(super_kwargs)
    except ValidationError:
        if dataset_or_model_as_input:
            self._secondary_validation_from_data(super_kwargs)
        else:
            raise

    if not self.__class__.__doc__:
        self._set_standard_field_description()

absorb_and_replace

absorb_and_replace(other: Model)
Source code in src/omnipy/data/model.py
def absorb_and_replace(self, other: 'Model'):
    self.from_data(other.to_data())

clone_model_cls classmethod

clone_model_cls(new_model_cls_name: str) -> type[Self]
Source code in src/omnipy/data/model.py
@classmethod
def clone_model_cls(cls, new_model_cls_name: str) -> type[Self]:
    new_model_cls = type(new_model_cls_name, (cls,), {})
    return cast(type[Self], new_model_cls)

content_validated_according_to_snapshot

content_validated_according_to_snapshot() -> bool
Source code in src/omnipy/data/model.py
def content_validated_according_to_snapshot(self) -> bool:
    needs_validation = self.snapshot_differs_from_model(self) \
        or not self.snapshot_taken_of_same_model(self)
    return not needs_validation

copy

copy(*, deep: bool = False, **kwargs) -> Self
Source code in src/omnipy/data/model.py
def copy(self, *, deep: bool = False, **kwargs) -> Self:
    pydantic_copy = pyd.GenericModel.copy(self, deep=deep, **kwargs)
    if not deep:
        # Shallow copying of the model should not share the same
        # content, as this can lead to unintentional side effects when
        # the content is mutable.
        pydantic_copy.content = copy(pydantic_copy.__dict__[ROOT_KEY])
    return pydantic_copy  # pyright: ignore[reportReturnType]

dict

dict(*args, **kwargs) -> dict[str, object]
Source code in src/omnipy/data/model.py
def dict(self, *args, **kwargs) -> dict[str, object]:
    return {ROOT_KEY: self.to_data()}

do

do(placeholder: F) -> Any
Source code in src/omnipy/data/model.py
def do(self, placeholder: F) -> Any:
    return placeholder(self)

from_data

from_data(data: Any) -> None
Source code in src/omnipy/data/model.py
def from_data(self, data: Any) -> None:
    if self.content == self._get_default_value_from_model(self.full_type()):
        self._empty_from_data(data)
    else:
        self._validate_and_set_value(data)

from_json

from_json(json_content: str) -> None
Source code in src/omnipy/data/model.py
def from_json(self, json_content: str) -> None:
    new_model = self.parse_raw(json_content, proto=pyd.Protocol.json)
    self.content = new_model.content

full_type cached classmethod

full_type() -> type[_RootT]
Source code in src/omnipy/data/model.py
@classmethod
@functools.cache
def full_type(cls) -> type[_RootT]:
    return cast(type[_RootT], cls.outer_type(with_args=True))

get_orig_model classmethod

get_orig_model() -> type[_RootT] | UndefinedType
Source code in src/omnipy/data/model.py
@classmethod
def get_orig_model(cls) -> type[_RootT] | UndefinedType:
    if cls.__fields__[ROOT_KEY].field_info and cls.__fields__[ROOT_KEY].field_info.extra:
        return cls.__fields__[ROOT_KEY].field_info.extra.get('orig_model', Undefined)
    return Undefined

has_snapshot

has_snapshot() -> bool
Source code in src/omnipy/data/model.py
def has_snapshot(self) -> bool:
    return self in self.snapshot_holder

inner_type cached classmethod

inner_type(with_args: bool = False) -> TypeForm
Source code in src/omnipy/data/model.py
@classmethod
@functools.cache
def inner_type(cls, with_args: bool = False) -> TypeForm:
    return cls._get_root_type(outer=False, with_args=with_args)

is_nested_type cached classmethod

is_nested_type() -> bool
Source code in src/omnipy/data/model.py
@classmethod
@functools.cache
def is_nested_type(cls) -> bool:
    return not cls.inner_type(with_args=True) == cls.outer_type(with_args=True)

outer_type cached classmethod

outer_type(with_args: bool = False) -> TypeForm
Source code in src/omnipy/data/model.py
@classmethod
@functools.cache
def outer_type(cls, with_args: bool = False) -> TypeForm:
    return cls._get_root_type(outer=True, with_args=with_args)

set_orig_model classmethod

set_orig_model(orig_model: TypeForm) -> None
Source code in src/omnipy/data/model.py
@classmethod
def set_orig_model(cls, orig_model: TypeForm) -> None:
    cls.__fields__[ROOT_KEY].field_info.extra['orig_model'] = orig_model

snapshot_differs_from_model

snapshot_differs_from_model(model: Model) -> bool
Source code in src/omnipy/data/model.py
def snapshot_differs_from_model(self, model: 'Model') -> bool:
    snapshot_wrapper = self._get_snapshot_wrapper()
    return snapshot_wrapper.differs_from(model.content)

snapshot_taken_of_same_model

snapshot_taken_of_same_model(model: Model) -> bool
Source code in src/omnipy/data/model.py
def snapshot_taken_of_same_model(self, model: 'Model') -> bool:
    snapshot_wrapper = self._get_snapshot_wrapper()
    return snapshot_wrapper.taken_of_same_obj(model)

to

to(model_cls: type[_OtherModelT]) -> _OtherModelT
Source code in src/omnipy/data/model.py
def to(self, model_cls: type[_OtherModelT]) -> _OtherModelT:
    return model_cls(self)

to_data

to_data() -> object
Source code in src/omnipy/data/model.py
def to_data(self) -> object:
    return super().dict(by_alias=True)[ROOT_KEY]

to_json

to_json(pretty=True) -> str
Source code in src/omnipy/data/model.py
def to_json(self, pretty=True) -> str:
    json_content = pyd.BaseModel.json(self)
    if pretty:
        return self._pretty_print_json(json.loads(json_content))
    else:
        return json_content

to_json_schema classmethod

to_json_schema(pretty=True) -> str
Source code in src/omnipy/data/model.py
@classmethod
def to_json_schema(cls, pretty=True) -> str:
    schema = cls.schema()
    if 'orig_model' in schema:
        del schema['orig_model']

    if pretty:
        return cls._pretty_print_json(schema)
    else:
        return json.dumps(schema)

update_forward_refs classmethod

update_forward_refs(
    calling_module: str | None = None, prev_visited_classes: set[type] | None = None, **localns: Any
) -> None
Source code in src/omnipy/data/model.py
@classmethod
def update_forward_refs(
    cls,
    calling_module: str | None = None,
    prev_visited_classes: set[type] | None = None,
    **localns: Any,
) -> None:
    if prev_visited_classes is None:
        prev_visited_classes = set()
    elif cls in prev_visited_classes:
        return

    # Merge the namespaces of the Model's own module and the calling
    # module to the local namespace for evaluation of forward
    # references, which is necessary for cases where the Model is
    # defined in a different module than where it is used, e.g. when
    # the Model is defined in a library and used by a user in their
    # own code.
    if calling_module is None:
        calling_module = get_calling_module_name()
    own_module_ns, globalns = \
        build_own_module_and_global_namespace_for_forward_refs(cls, calling_module, **localns)

    prev_outer_type = cls._get_root_field().outer_type_
    prev_type = cls._get_root_field().type_

    super().update_forward_refs(**globalns)

    cls._get_root_field().outer_type_ = evaluate_any_forward_refs_if_possible(
        prev_outer_type, **globalns)
    cls._get_root_field().type_ = evaluate_any_forward_refs_if_possible(prev_type, **globalns)
    cls.set_orig_model(evaluate_any_forward_refs_if_possible(cls.get_orig_model(), **globalns))
    if ROOT_KEY in cls.__annotations__:
        cls.__annotations__[ROOT_KEY] = evaluate_any_forward_refs_if_possible(
            cls.__annotations__[ROOT_KEY], **globalns)

    cls._clean_type_caches()

    cls._recursively_set_allow_none(cls._get_root_field())

    cls._prepare_cls_members_to_mimic_model(cls)

    prev_visited_classes.add(cls)

    # Propagate update_forward_refs to parent models but retaining the
    # same calling module. This is needed to ensure the correct
    # context is used to resolve forward references in complex
    # inheritance hierarchies.
    #
    # We explicitly call `update_forward_refs` on immediate parent
    # classes (`__bases__`) instead of relying solely on
    # `super().update_forward_refs()`. This is because `super()`
    # inside this classmethod resolves relative to `Model` in the MRO,
    # silently bypassing custom logic on any intermediate `Model`
    # subclasses. Explicitly propagating through `__bases__` ensures
    # that class-level setups are correctly applied to all parents
    # exactly once, efficiently preventing redundant updates.
    for base in cls.__bases__:
        if is_model_subclass(base) and base is not Model:
            # Merge the current class's own module namespace into
            # localns before propagating, so that pydantic-generated
            # parametrized base classes (which have
            # __module__='omnipy.data.model' rather than the defining
            # module) can still resolve forward refs that only exist
            # in the defining module's namespace.

            extra_ns: dict[str, Any] = {}
            extra_ns.update(**own_module_ns)
            extra_ns.update(**localns)

            base.update_forward_refs(
                calling_module=calling_module,
                prev_visited_classes=prev_visited_classes,
                **extra_ns,
            )

    cls.__name__ = remove_forward_ref_notation(cls.__name__)
    cls.__qualname__ = remove_forward_ref_notation(cls.__qualname__)

validate classmethod

validate(value: Any) -> Model

Hack to allow overwriting of iter method without compromising pydantic validation. Part of the pydantic API and not the Omnipy API.

Source code in src/omnipy/data/model.py
@classmethod
def validate(cls: type['Model'], value: Any) -> 'Model':
    """
    Hack to allow overwriting of __iter__ method without compromising pydantic validation. Part
    of the pydantic API and not the Omnipy API.
    """
    # TODO: Doublecheck if validate() method is still needed for pydantic v2

    validate_cls_counts[cls.__name__] += 1
    if is_model_instance(value):

        @contextmanager
        def temporary_set_value_iter_to_pydantic_method() -> Iterator[None]:
            prev_iter = value.__class__.__iter__
            value.__class__.__iter__ = pyd.GenericModel.__iter__  # type: ignore[method-assign]

            try:
                yield
            finally:
                value.__class__.__iter__ = prev_iter  # type: ignore[method-assign]

        with temporary_set_value_iter_to_pydantic_method():
            return super().validate(value)
    else:
        return super().validate(value)

validate_content

validate_content() -> None
Source code in src/omnipy/data/model.py
def validate_content(self) -> None:
    self._validate_and_set_value(self.content)

MultiModelDataset

Bases: Dataset[_GeneralModelT], Generic[_GeneralModelT]

Variant of Dataset that allows custom models to be set on individual data files

Note that the general model still needs to hold for all data files, in addition to any custom models.

METHOD DESCRIPTION
from_data
get_model
set_model
Source code in src/omnipy/data/multi.py
class MultiModelDataset(Dataset[_GeneralModelT], Generic[_GeneralModelT]):
    """
        Variant of Dataset that allows custom models to be set on individual data files

        Note that the general model still needs to hold for all data files, in addition to any
        custom models.
    """

    # Custom field models should really be a subtype of _GeneralModelT,
    # however this is currently not checkable in the type system. Instead,
    # we rely on the _validate method to ensure that the custom field
    # models are valid.

    _custom_field_models: 'dict[str, type[Model]]' = pyd.PrivateAttr(default={})

    def set_model(self, data_file: str, model: 'type[Model]') -> None:
        try:
            self._custom_field_models[data_file] = model
            if data_file in self.data:
                self._validate_data_file(data_file)
            else:
                self.data[data_file] = model()
        except ValidationError:
            del self._custom_field_models[data_file]
            raise

    def get_model(self, data_file: str) -> type[Model]:
        if data_file in self._custom_field_models:
            return self._custom_field_models[data_file]
        else:
            return self.get_type()

    def from_data(self,
                  data: Mapping[str, Any] | Iterable[tuple[str, Any]],
                  update: bool = True) -> None:
        super().from_data(data, update)
        for data_file in self:
            self._validate_data_file_according_to_custom_field_model(data_file)
        self._force_full_validation()

    def _validate_data_file(self, data_file: str) -> None:
        self._validate_data_file_according_to_custom_field_model(data_file)
        self._force_full_validation()

    def _validate_data_file_according_to_custom_field_model(self, data_file: str):
        from omnipy.data.model import is_model_instance, Model

        if data_file in self._custom_field_models:
            model = self._custom_field_models[data_file]
            if not is_model_instance(model):
                model = Model[model]
            data_obj = self._to_data_if_model(self.data[data_file])
            parsed_data = self._to_data_if_model(model(data_obj))
            self.data[data_file] = parsed_data

    @staticmethod
    def _to_data_if_model(data_obj: Any):
        from omnipy.data.model import is_model_instance

        if is_model_instance(data_obj):
            data_obj = data_obj.to_data()
        return data_obj

from_data

from_data(data: Mapping[str, Any] | Iterable[tuple[str, Any]], update: bool = True) -> None
Source code in src/omnipy/data/multi.py
def from_data(self,
              data: Mapping[str, Any] | Iterable[tuple[str, Any]],
              update: bool = True) -> None:
    super().from_data(data, update)
    for data_file in self:
        self._validate_data_file_according_to_custom_field_model(data_file)
    self._force_full_validation()

get_model

get_model(data_file: str) -> type[Model]
Source code in src/omnipy/data/multi.py
def get_model(self, data_file: str) -> type[Model]:
    if data_file in self._custom_field_models:
        return self._custom_field_models[data_file]
    else:
        return self.get_type()

set_model

set_model(data_file: str, model: type[Model]) -> None
Source code in src/omnipy/data/multi.py
def set_model(self, data_file: str, model: 'type[Model]') -> None:
    try:
        self._custom_field_models[data_file] = model
        if data_file in self.data:
            self._validate_data_file(data_file)
        else:
            self.data[data_file] = model()
    except ValidationError:
        del self._custom_field_models[data_file]
        raise

NestedDataset

Bases: GenericNestedDataset[NestedUnion]

Source code in src/omnipy/components/nested/datasets.py
class NestedDataset(GenericNestedDataset[NestedUnion]):
    ...

NestedJoinItemsModel

Bases: _NestedJoinItemsModel

ATTRIBUTE DESCRIPTION
adjust

Source code in src/omnipy/components/raw/models.py
class NestedJoinItemsModel(_NestedJoinItemsModel):
    adjust = bind_adjust_model_func(
        cast(Callable[..., type[_NestedJoinItemsModel]], _NestedJoinItemsModel.clone_model_cls),
        _NestedItemsParamsMixin.Params,
    )

adjust class-attribute instance-attribute

adjust = bind_adjust_model_func(
    cast(Callable[..., type[_NestedJoinItemsModel]], _NestedJoinItemsModel.clone_model_cls),
    _NestedItemsParamsMixin.Params,
)

NestedSplitToItemsModel

Bases: _NestedSplitToItemsModel

ATTRIBUTE DESCRIPTION
adjust

Source code in src/omnipy/components/raw/models.py
class NestedSplitToItemsModel(_NestedSplitToItemsModel):
    adjust = bind_adjust_model_func(
        cast(Callable[..., type[_NestedSplitToItemsModel]],
             _NestedSplitToItemsModel.clone_model_cls),
        _NestedSplitToItemsModel.Params,
    )

adjust class-attribute instance-attribute

adjust = bind_adjust_model_func(
    cast(Callable[..., type[_NestedSplitToItemsModel]], _NestedSplitToItemsModel.clone_model_cls),
    _NestedSplitToItemsModel.Params,
)

NotIterableExceptStrOrBytesModel

Bases: Model[object | None]

Model describing any object that is not iterable, except for str and bytes types. As strings and bytes are iterable (over the characters/bytes) but also generally useful and often considered singular (or scalar) types, they are specifically allowed by this model.

Examples:

>>> from omnipy import NotIterableExceptStrOrBytesModel, print_exception
>>>
>>> NotIterableExceptStrOrBytesModel(1234)
NotIterableExceptStrOrBytesModel(1234)
>>> NotIterableExceptStrOrBytesModel('1234')
NotIterableExceptStrOrBytesModel(1234)
>>> with print_exception:
...     NotIterableExceptStrOrBytesModel((1, 2, 3, 4))
ValidationError: 1 validation error for NotIterableExceptStrOrBytesModel
Note

JsonScalarModel is a strict submodel of NotIterableExceptStrOrBytesModel in that all objects allowed by JsonScalarModel are also allowed by NotIterableExceptStrOrBytesModel.

Source code in src/omnipy/components/general/models.py
class NotIterableExceptStrOrBytesModel(Model[object | None]):
    """
    Model describing any object that is not iterable, except for `str` and `bytes` types.
    As strings and bytes are iterable (over the characters/bytes) but also generally useful and
    often considered singular (or scalar) types, they are specifically allowed by this model.

    Examples:
        >>> from omnipy import NotIterableExceptStrOrBytesModel, print_exception
        >>>
        >>> NotIterableExceptStrOrBytesModel(1234)
        NotIterableExceptStrOrBytesModel(1234)
        >>> NotIterableExceptStrOrBytesModel('1234')
        NotIterableExceptStrOrBytesModel(1234)
        >>> with print_exception:
        ...     NotIterableExceptStrOrBytesModel((1, 2, 3, 4))
        ValidationError: 1 validation error for NotIterableExceptStrOrBytesModel

    Note:
        JsonScalarModel is a strict submodel of NotIterableExceptStrOrBytesModel in that all objects
        allowed by JsonScalarModel are also allowed by NotIterableExceptStrOrBytesModel.
    """
    @classmethod
    def _parse_data(cls, data: object) -> object:
        if isinstance(data, NotIterableExceptStrOrBytesModel):
            return data

        assert isinstance(data, str) or isinstance(data, bytes) or not is_iterable(data), \
            f'Data of type {type(data)} is iterable'

        return data

OutputStorageProtocolOptions

Bases: LiteralEnum[str]

ATTRIBUTE DESCRIPTION
FOLLOW_CONFIG

TYPE: Literal['config']

LOCAL

TYPE: Literal['local']

Literals

S3

TYPE: Literal['s3']

Source code in src/omnipy/shared/enums/job.py
class OutputStorageProtocolOptions(LiteralEnum[str]):
    Literals = Literal['local', 's3', 'config']

    LOCAL: Literal['local'] = 'local'
    S3: Literal['s3'] = 's3'
    FOLLOW_CONFIG: Literal['config'] = 'config'

FOLLOW_CONFIG class-attribute instance-attribute

FOLLOW_CONFIG: Literal['config'] = 'config'

LOCAL class-attribute instance-attribute

LOCAL: Literal['local'] = 'local'

Literals class-attribute instance-attribute

Literals = Literal['local', 's3', 'config']

S3 class-attribute instance-attribute

S3: Literal['s3'] = 's3'

PandasDataset

Bases: Dataset[PandasModel]

Source code in src/omnipy/components/pandas/datasets.py
class PandasDataset(Dataset[PandasModel]):
    ...

PandasModel

Bases: Model['pd.DataFrame | pd.Series | AnyJsonTableType'], PrintableTable

METHOD DESCRIPTION
from_data
from_json
to_data
to_json
Source code in src/omnipy/components/pandas/models.py
class PandasModel(Model['pd.DataFrame | pd.Series | AnyJsonTableType'], PrintableTable):
    if TYPE_CHECKING:

        def __new__(cls, *args: Any, **kwargs: Any) -> 'PandasModel_DataFrame':
            ...

    @classmethod
    def _parse_data(
        cls,
        data: 'pd.DataFrame | pd.Series | AnyJsonTableType',
    ) -> 'pd.DataFrame | pd.Series':
        from .lazy_import import pd

        if isinstance(data, pd.DataFrame) or isinstance(data, pd.Series):
            return data

        return cls._from_iterable(data)

    # @staticmethod
    # def _data_column_names_are_strings(data: pd.DataFrame) -> None:
    #     for column in data.columns:
    #         assert isinstance(column, str)

    # @staticmethod
    # def _data_not_empty_object(data: pd.DataFrame) -> None:
    #     assert not any(data.isna().all(axis=1))
    #

    @classmethod
    def _from_iterable(cls, data: Iterable) -> 'pd.DataFrame':
        from .lazy_import import pd
        return pd.DataFrame(data.content if is_model_instance(data) else data).convert_dtypes()

    def to_data(self) -> Any:
        from .lazy_import import pd

        df = self.content.replace({pd.NA: None})
        if isinstance(df, pd.DataFrame):
            # return df.to_dict(orient='records')
            return df.to_dict(orient='list')
        elif isinstance(df, pd.Series):
            return df.to_dict()

    def from_data(self, data: Iterable) -> None:
        self._validate_and_set_value(self._from_iterable(data))

    def from_json(self, json_content: str) -> None:
        from .lazy_import import pd

        self._validate_and_set_value(pd.read_json(StringIO(json_content)).convert_dtypes())

    def to_json(self, pretty=True) -> str:
        from .lazy_import import pd

        if isinstance(self.content, pd.DataFrame):
            return self.content.to_json(orient='records')
        elif isinstance(self.content, pd.Series):
            return self.content.to_json()
        else:
            raise ShouldNotOccurException()

from_data

from_data(data: Iterable) -> None
Source code in src/omnipy/components/pandas/models.py
def from_data(self, data: Iterable) -> None:
    self._validate_and_set_value(self._from_iterable(data))

from_json

from_json(json_content: str) -> None
Source code in src/omnipy/components/pandas/models.py
def from_json(self, json_content: str) -> None:
    from .lazy_import import pd

    self._validate_and_set_value(pd.read_json(StringIO(json_content)).convert_dtypes())

to_data

to_data() -> Any
Source code in src/omnipy/components/pandas/models.py
def to_data(self) -> Any:
    from .lazy_import import pd

    df = self.content.replace({pd.NA: None})
    if isinstance(df, pd.DataFrame):
        # return df.to_dict(orient='records')
        return df.to_dict(orient='list')
    elif isinstance(df, pd.Series):
        return df.to_dict()

to_json

to_json(pretty=True) -> str
Source code in src/omnipy/components/pandas/models.py
def to_json(self, pretty=True) -> str:
    from .lazy_import import pd

    if isinstance(self.content, pd.DataFrame):
        return self.content.to_json(orient='records')
    elif isinstance(self.content, pd.Series):
        return self.content.to_json()
    else:
        raise ShouldNotOccurException()

PanelDesign

Bases: LiteralEnum[str]

Visual design for the layout of the output.

The layout designs are: - TABLE: The output is displayed as a simple table grid - TABLE_SHOW_STYLE: The output is displayed as a simple table grid - PANELS: The output is displayed as a set of panels

ATTRIBUTE DESCRIPTION
Literals

PANELS

TYPE: Literal['panels']

TABLE

TYPE: Literal['table']

TABLE_SHOW_STYLE

TYPE: Literal['table_show_style']

Source code in src/omnipy/shared/enums/display.py
class PanelDesign(LiteralEnum[str]):
    """
    Visual design for the layout of the output.

    The layout designs are:
    - `TABLE`: The output is displayed as a simple table grid
    - `TABLE_SHOW_STYLE`: The output is displayed as a simple table grid
    - `PANELS`: The output is displayed as a set of panels
    """

    Literals = Literal['table', 'table_show_style', 'panels']

    TABLE: Literal['table'] = 'table'
    TABLE_SHOW_STYLE: Literal['table_show_style'] = 'table_show_style'
    PANELS: Literal['panels'] = 'panels'

Literals class-attribute instance-attribute

Literals = Literal['table', 'table_show_style', 'panels']

PANELS class-attribute instance-attribute

PANELS: Literal['panels'] = 'panels'

TABLE class-attribute instance-attribute

TABLE: Literal['table'] = 'table'

TABLE_SHOW_STYLE class-attribute instance-attribute

TABLE_SHOW_STYLE: Literal['table_show_style'] = 'table_show_style'

ParamsBase

Bases: pyd.BaseModel

CLASS DESCRIPTION
Config
METHOD DESCRIPTION
copy_and_adjust
Source code in src/omnipy/data/param.py
class ParamsBase(pyd.BaseModel, metaclass=_ParamsMeta):
    class Config:
        arbitrary_types_allowed = True
        smart_union = True

    def __new__(cls, *args: object, **kwargs: object) -> None:  # type: ignore[misc]
        raise RuntimeError(f'{cls.__name__} cannot be instantiated')

    @classmethod
    def copy_and_adjust(cls, model_name: str, **kwargs: object) -> type['ParamsBase']:
        all_field_infos = {
            field_name: deepcopy(field.field_info) for field_name, field in cls.__fields__.items()
        }

        for key, value in kwargs.items():
            all_field_infos[key].default = value

        field_definitions: dict[str, Any] = {
            field_name: (cls.__fields__[field_name].outer_type_, field_info)
            for field_name, field_info in all_field_infos.items()
        }
        return pyd.create_model(  # type: ignore[call-overload]
            model_name, __base__=ParamsBase, **field_definitions)

Config

ATTRIBUTE DESCRIPTION
arbitrary_types_allowed

smart_union

Source code in src/omnipy/data/param.py
class Config:
    arbitrary_types_allowed = True
    smart_union = True

arbitrary_types_allowed class-attribute instance-attribute

arbitrary_types_allowed = True

smart_union class-attribute instance-attribute

smart_union = True

copy_and_adjust classmethod

copy_and_adjust(model_name: str, **kwargs: object) -> type[ParamsBase]
Source code in src/omnipy/data/param.py
@classmethod
def copy_and_adjust(cls, model_name: str, **kwargs: object) -> type['ParamsBase']:
    all_field_infos = {
        field_name: deepcopy(field.field_info) for field_name, field in cls.__fields__.items()
    }

    for key, value in kwargs.items():
        all_field_infos[key].default = value

    field_definitions: dict[str, Any] = {
        field_name: (cls.__fields__[field_name].outer_type_, field_info)
        for field_name, field_info in all_field_infos.items()
    }
    return pyd.create_model(  # type: ignore[call-overload]
        model_name, __base__=ParamsBase, **field_definitions)

PersistOutputsOptions

Bases: LiteralEnum[str]

ATTRIBUTE DESCRIPTION
DISABLED

TYPE: Literal['disabled']

ENABLED

TYPE: Literal['enabled']

FOLLOW_CONFIG

TYPE: Literal['config']

Literals

Source code in src/omnipy/shared/enums/job.py
class PersistOutputsOptions(LiteralEnum[str]):
    Literals = Literal['disabled', 'config', 'enabled']

    DISABLED: Literal['disabled'] = 'disabled'
    FOLLOW_CONFIG: Literal['config'] = 'config'
    ENABLED: Literal['enabled'] = 'enabled'

DISABLED class-attribute instance-attribute

DISABLED: Literal['disabled'] = 'disabled'

ENABLED class-attribute instance-attribute

ENABLED: Literal['enabled'] = 'enabled'

FOLLOW_CONFIG class-attribute instance-attribute

FOLLOW_CONFIG: Literal['config'] = 'config'

Literals class-attribute instance-attribute

Literals = Literal['disabled', 'config', 'enabled']

PlainTerminalEmbeddedUserInterfaceType

Bases: LiteralEnum[str]

ATTRIBUTE DESCRIPTION
Literals

PYCHARM_TERMINAL

TYPE: Literal['pycharm_terminal']

Source code in src/omnipy/shared/enums/ui.py
class PlainTerminalEmbeddedUserInterfaceType(LiteralEnum[str]):
    Literals = Literal['pycharm_terminal']

    PYCHARM_TERMINAL: Literal['pycharm_terminal'] = 'pycharm_terminal'
    f"""
    The console and/or terminal of the JetBrains PyCharm IDE running with
    the Python interactive interpreter (REPL). {_PYCHARM_NOTE}
    """

Literals class-attribute instance-attribute

Literals = Literal['pycharm_terminal']

PYCHARM_TERMINAL class-attribute instance-attribute

PYCHARM_TERMINAL: Literal['pycharm_terminal'] = 'pycharm_terminal'

PlainTerminalUserInterfaceType

Bases: PlainTerminalEmbeddedUserInterfaceType, LiteralEnum[str]

ATTRIBUTE DESCRIPTION
Literals

TERMINAL

A standard Python interactive interpreter (REPL), running within

TYPE: Literal['terminal']

UNKNOWN

The UNKNOWN user interface type is used when the user interface type

TYPE: Literal['unknown']

Source code in src/omnipy/shared/enums/ui.py
class PlainTerminalUserInterfaceType(PlainTerminalEmbeddedUserInterfaceType, LiteralEnum[str]):
    Literals = Literal['terminal', PlainTerminalEmbeddedUserInterfaceType.Literals, 'unknown']

    TERMINAL: Literal['terminal'] = 'terminal'
    """
    A standard Python interactive interpreter (REPL), running within
    terminal-emulation software, such as the builtin "Terminal" app on Mac
    OS or GNOME Terminal on Linux, through a SSH connection to a remote
    server,  or directly on a console.
    """

    UNKNOWN: Literal['unknown'] = 'unknown'
    """
    The `UNKNOWN` user interface type is used when the user interface type
    cannot be determined. This will in practice produce the same output as
    for the `TERMINAL` display type. As is default for terminals, we try
    to autodetect color capabilities such as ANSI escape codes for color
    and text formatting (see `DisplayColorSystem.AUTO`).
    """

Literals class-attribute instance-attribute

Literals = Literal['terminal', PlainTerminalEmbeddedUserInterfaceType.Literals, 'unknown']

TERMINAL class-attribute instance-attribute

TERMINAL: Literal['terminal'] = 'terminal'

A standard Python interactive interpreter (REPL), running within terminal-emulation software, such as the builtin "Terminal" app on Mac OS or GNOME Terminal on Linux, through a SSH connection to a remote server, or directly on a console.

UNKNOWN class-attribute instance-attribute

UNKNOWN: Literal['unknown'] = 'unknown'

The UNKNOWN user interface type is used when the user interface type cannot be determined. This will in practice produce the same output as for the TERMINAL display type. As is default for terminals, we try to autodetect color capabilities such as ANSI escape codes for color and text formatting (see DisplayColorSystem.AUTO).

PrettyPrinterLib

Bases: LiteralEnum[str]

Supported libraries for pretty printing of various data structures.

Comparison of RICH and DEVTOOLS for Python structures: the outputs are more or less the same. However, the RICH library formats the width of the output on a per-item basis, while the DEVTOOLS library formats the width of the output based on the maximum width of the output. This means that the RICH library will in many cases produce a more compact output, which is typically recommended. However, the DEVTOOLS library might be more suitable for visualizing Pydantic models with debug_mode set to True, as it is specifically designed for that purpose.

ATTRIBUTE DESCRIPTION
AUTO

Automatically selects the pretty printer.

TYPE: Literal['auto']

CODE

Code pretty printer.

TYPE: Literal['code']

COLUMN

Column pretty printer.

TYPE: Literal['column']

COMPACT_JSON

Compact JSON pretty printer.

TYPE: Literal['compact-json']

DEVTOOLS

Devtools pretty printer for Python objects.

TYPE: Literal['devtools']

HEXDUMP

Hexdump pretty printer.

TYPE: Literal['hexdump']

Literals

RICH

Rich pretty printer for Python objects.

TYPE: Literal['rich']

TEXT

Text pretty printer.

TYPE: Literal['text']

Source code in src/omnipy/shared/enums/display.py
class PrettyPrinterLib(LiteralEnum[str]):
    """
    Supported libraries for pretty printing of various data structures.

    Comparison of RICH and DEVTOOLS for Python structures: the outputs are
    more or less the same. However, the RICH library formats the width of
    the output on a per-item basis, while the DEVTOOLS library formats the
    width of the output based on the maximum width of the output. This means
    that the RICH library will in many cases produce a more compact output,
    which is typically recommended. However, the DEVTOOLS library might be
    more suitable for visualizing Pydantic models with debug_mode set to
    `True`, as it is specifically designed for that purpose.
    """

    Literals = Literal['rich',
                       'devtools',
                       'compact-json',
                       'text',
                       'code',
                       'column',
                       'hexdump',
                       'auto']

    RICH: Literal['rich'] = 'rich'
    """Rich pretty printer for Python objects.

    The pretty printer of Rich library
    (https://rich.readthedocs.io/en/stable/), a general-purpose formatter
    of Python objects. This is the default value.
    """

    DEVTOOLS: Literal['devtools'] = 'devtools'
    """Devtools pretty printer for Python objects.

    The pretty printer of the Devtools library
    (https://python-devtools.helpmanual.io/), a general-purpose formatter
    of Python objects and specifically designed for visualizing Pydantic
    models.
    """

    COMPACT_JSON: Literal['compact-json'] = 'compact-json'
    """Compact JSON pretty printer.

    The compact-json library (https://github.com/masaccio/compact-json),
    which is used for compact formatting of JSON data structures.
    """

    TEXT: Literal['text'] = 'text'
    """Text pretty printer.

    The plain text pretty printer, which is used for displaying plain text
    content.
    """

    CODE: Literal['code'] = 'code'
    """Code pretty printer.

    The code pretty printer, which is used for displaying plain text
    containing code. The default syntax is Python.
    """

    COLUMN: Literal['column'] = 'column'
    """Column pretty printer.

    The column pretty printer is the basis for tabular data display in
    Omnipy, with the regular panel layout providing the table formatting.
    """

    HEXDUMP: Literal['hexdump'] = 'hexdump'
    """Hexdump pretty printer.

    Hexdump pretty printer based on [simple-hexdump](https://pypi.org/project/simple-hexdump/)
    for displaying binary content.
    """

    AUTO: Literal['auto'] = 'auto'
    """Automatically selects the pretty printer.

    The auto-selection of the pretty printer is based on:

    1.  Autodetection of the pretty printer based on specific content types,
        such as StrModel, ColumnModel, or PrintableTable.

    2.  The `syntax` config parameter, if other than `AUTO`. The pretty
        printer is set to the default pretty printer for the specified
        syntax language subgroup (see subtypes of `SyntaxLanguage`).

    3.  If the `syntax` config parameter is set to `AUTO`, the pretty
        printer is finally determined based on the content of the output,
        this time in default mode.

    Note: the default pretty printer for a syntax language subgroup is
        currently  determined in the `get_pretty_printer_from_syntax()`
        function in  `omnipy.data._display.text.pretty_printer.register`,
        while the mapping of content types to pretty printers is determined
        in the `get_pretty_printer_from_content()` function in the same
        module, based on the `is_suitable_content()` method of each pretty
        printer class. The implementation of determining the pretty printer
        when set to `AUTO` will likely change in the future.
    """

AUTO class-attribute instance-attribute

AUTO: Literal['auto'] = 'auto'

Automatically selects the pretty printer.

The auto-selection of the pretty printer is based on:

  1. Autodetection of the pretty printer based on specific content types, such as StrModel, ColumnModel, or PrintableTable.

  2. The syntax config parameter, if other than AUTO. The pretty printer is set to the default pretty printer for the specified syntax language subgroup (see subtypes of SyntaxLanguage).

  3. If the syntax config parameter is set to AUTO, the pretty printer is finally determined based on the content of the output, this time in default mode.

the default pretty printer for a syntax language subgroup is

currently determined in the get_pretty_printer_from_syntax() function in omnipy.data._display.text.pretty_printer.register, while the mapping of content types to pretty printers is determined in the get_pretty_printer_from_content() function in the same module, based on the is_suitable_content() method of each pretty printer class. The implementation of determining the pretty printer when set to AUTO will likely change in the future.

CODE class-attribute instance-attribute

CODE: Literal['code'] = 'code'

Code pretty printer.

The code pretty printer, which is used for displaying plain text containing code. The default syntax is Python.

COLUMN class-attribute instance-attribute

COLUMN: Literal['column'] = 'column'

Column pretty printer.

The column pretty printer is the basis for tabular data display in Omnipy, with the regular panel layout providing the table formatting.

COMPACT_JSON class-attribute instance-attribute

COMPACT_JSON: Literal['compact-json'] = 'compact-json'

Compact JSON pretty printer.

The compact-json library (https://github.com/masaccio/compact-json), which is used for compact formatting of JSON data structures.

DEVTOOLS class-attribute instance-attribute

DEVTOOLS: Literal['devtools'] = 'devtools'

Devtools pretty printer for Python objects.

The pretty printer of the Devtools library (https://python-devtools.helpmanual.io/), a general-purpose formatter of Python objects and specifically designed for visualizing Pydantic models.

HEXDUMP class-attribute instance-attribute

HEXDUMP: Literal['hexdump'] = 'hexdump'

Hexdump pretty printer.

Hexdump pretty printer based on simple-hexdump for displaying binary content.

Literals class-attribute instance-attribute

Literals = Literal['rich', 'devtools', 'compact-json', 'text', 'code', 'column', 'hexdump', 'auto']

RICH class-attribute instance-attribute

RICH: Literal['rich'] = 'rich'

Rich pretty printer for Python objects.

The pretty printer of Rich library (https://rich.readthedocs.io/en/stable/), a general-purpose formatter of Python objects. This is the default value.

TEXT class-attribute instance-attribute

TEXT: Literal['text'] = 'text'

Text pretty printer.

The plain text pretty printer, which is used for displaying plain text content.

PydanticRecordModel

Bases: PydanticRecordModelBase[_PydBaseModelT, dict[str, JsonScalar], list[JsonScalar]], Generic[_PydBaseModelT]

Source code in src/omnipy/components/tables/models.py
class PydanticRecordModel(
        PydanticRecordModelBase[
            _PydBaseModelT,
            dict[str, JsonScalar],
            list[JsonScalar],
        ],
        Generic[_PydBaseModelT],
):
    @override
    @classmethod
    def _validate_record_model_with_col_names(
        cls,
        pyd_model: type[pyd.BaseModel],
        data: dict[str, JsonScalar],
        header_names: tuple[str, ...],
    ) -> pyd.BaseModel | dict[str, JsonScalar]:
        return pyd_model(**data)

    @override
    @classmethod
    def _validate_record_model_without_col_names(
        cls,
        pyd_model: type[pyd.BaseModel],
        data: list[JsonScalar],
        data_type: type[_DataWithColNamesModelT],
        header_names: tuple[str, ...],
    ) -> pyd.BaseModel | dict[str, JsonScalar]:
        return pyd_model(**dict(zip(header_names, data)))

PythonSyntaxLanguage

Bases: LiteralEnum[str]

ATTRIBUTE DESCRIPTION
Literals

PYTHON

TYPE: Literal['python']

Source code in src/omnipy/shared/enums/display.py
class PythonSyntaxLanguage(LiteralEnum[str]):
    Literals = Literal['python']

    PYTHON: Literal['python'] = 'python'

Literals class-attribute instance-attribute

Literals = Literal['python']

PYTHON class-attribute instance-attribute

PYTHON: Literal['python'] = 'python'

QueryParamsModel

Bases: Model[dict[str, str] | tuple[tuple[str, str], ...] | tuple[str, ...] | str]

METHOD DESCRIPTION
to_data
Source code in src/omnipy/components/remote/models.py
class QueryParamsModel(Model[dict[str, str] | tuple[tuple[str, str], ...] | tuple[str, ...] | str]):
    if TYPE_CHECKING and TYPE_CHECKER != 'mypy':

        def __new__(cls, *args: Any, **kwargs: Any) -> 'QueryParamsModel_dict':
            ...

    @classmethod
    def _validate_tuple_of_pairs(
            cls, params_list: list[str | list] | str) -> TypeGuard[list[tuple[str, str]]]:
        # The validated type is really a list of lists of two items, but we can't express that with
        # Python type hints, so we use a list of tuple pairs instead.
        return all(isinstance(param, list) and len(param) == 2 for param in params_list)

    @classmethod
    def _parse_data(
        cls, data: dict[str, str] | tuple[tuple[str, str], ...] | tuple[str, ...] | str
    ) -> dict[str, str]:
        if isinstance(data, dict):
            return data

        params_list = QueryParamsSplitterModel(data).content
        assert cls._validate_tuple_of_pairs(params_list), \
            (f'Each parameter must have 2 elements only: [key, value]. '
             f'Incorrect parameter list: {params_list}')

        return dict((unquote(key), unquote(val)) for key, val in params_list)

    def to_data(self) -> str:
        with hold_and_reset_prev_attrib_value(self.config.model,
                                              'dynamically_convert_elements_to_models'):
            self.config.model.dynamically_convert_elements_to_models = False
            assert isinstance(self.content, dict)
            url_encoded_content = tuple(
                (quote(key), quote(val)) for key, val in self.content.items())
            return cast(str, QueryParamsJoinerModel(url_encoded_content).to_data())

    def __str__(self) -> str:
        return self.to_data()

to_data

to_data() -> str
Source code in src/omnipy/components/remote/models.py
def to_data(self) -> str:
    with hold_and_reset_prev_attrib_value(self.config.model,
                                          'dynamically_convert_elements_to_models'):
        self.config.model.dynamically_convert_elements_to_models = False
        assert isinstance(self.content, dict)
        url_encoded_content = tuple(
            (quote(key), quote(val)) for key, val in self.content.items())
        return cast(str, QueryParamsJoinerModel(url_encoded_content).to_data())

RecommendedColorStyles

Bases: LiteralEnum[str]

Recommended color styles for syntax highlighting, provided through the Pygments and Rich libraries.

The ANSI color styles are provided to make Omnipy work ok on a wider range of terminals, but they are not recommended for use in the long run. For best results, you should switch to the light or white variants of the Omnipy Selenized styles, or to another color style of your choice.

METHOD DESCRIPTION
get_default_style

Returns the default color style for the given color system.

ATTRIBUTE DESCRIPTION
ANSI_DARK

TYPE: Literal['ansi-dark']

ANSI_LIGHT

TYPE: Literal['ansi-light']

AUTO

The default color style, which is automatically replaced with one of the

TYPE: Literal['auto']

Literals

OMNIPY_SELENIZED_BLACK

TYPE: Literal['omnipy-selenized-black']

OMNIPY_SELENIZED_DARK

TYPE: Literal['omnipy-selenized-dark']

OMNIPY_SELENIZED_LIGHT

TYPE: Literal['omnipy-selenized-light']

OMNIPY_SELENIZED_WHITE

TYPE: Literal['omnipy-selenized-white']

Source code in src/omnipy/shared/enums/colorstyles.py
class RecommendedColorStyles(LiteralEnum[str]):
    """
    Recommended color styles for syntax highlighting, provided through the
    Pygments and Rich libraries.

    The ANSI color styles are provided to make Omnipy work ok on a wider
    range of terminals, but they are not recommended for use in the long
    run. For best results, you should switch to the light or white variants
    of the Omnipy Selenized styles, or to another color style of your
    choice. """

    Literals = Literal['auto',
                       'ansi-dark',
                       'ansi-light',
                       'omnipy-selenized-black',
                       'omnipy-selenized-dark',
                       'omnipy-selenized-light',
                       'omnipy-selenized-white']

    AUTO: Literal['auto'] = 'auto'
    """
    The default color style, which is automatically replaced with one of the
    other recommended styles based on the color system, dark background
    and transparent background settings.

    ANSI color styles are selected for color systems with fewer than 256
    colors. Otherwise, the Omnipy Selenized styles are selected based on
    the dark background and transparent background settings.

    All recommended styles will automatically replace themselves with other
    recommended styles if the color system or background settings change.
    If you want to fix a specific color style, you should use one of the
    other (non-recommended) styles directly.
    """

    ANSI_DARK: Literal['ansi-dark'] = 'ansi-dark'
    f"""
    {_ANSI_TEXT.format(variant='dark')}
    """

    ANSI_LIGHT: Literal['ansi-light'] = 'ansi-light'
    f"""
    {_ANSI_TEXT.format(variant='light')}Even though the light variant is
    defined for light backgrounds, you may find the ANSI dark variant
    slightly more readable across both light and dark terminal themes.
    """

    OMNIPY_SELENIZED_BLACK: Literal['omnipy-selenized-black'] = 'omnipy-selenized-black'
    f"""
    {_SELENIZED_TEXT}
    Black variant: A slightly soft dark theme with an almost black
    background, suitable also on a fully black background.
    """

    OMNIPY_SELENIZED_DARK: Literal['omnipy-selenized-dark'] = 'omnipy-selenized-dark'
    f"""
    {_SELENIZED_TEXT}
    Dark variant: A dark theme on a dark bluish background, a bit harsh on a
    fully black background.
    """

    OMNIPY_SELENIZED_LIGHT: Literal['omnipy-selenized-light'] = 'omnipy-selenized-light'
    f"""
    {_SELENIZED_TEXT}
    Light variant: A soft light theme on an off-white background, suitable
    also on a fully white background for a softer feel.
    """

    OMNIPY_SELENIZED_WHITE: Literal['omnipy-selenized-white'] = 'omnipy-selenized-white'
    f"""
    {_SELENIZED_TEXT}
    White variant: A light theme on a fully white background.
    """

    # Methods

    @classmethod
    def get_default_style(
        cls,
        color_system: DisplayColorSystem.Literals,
        dark_background: bool,
        solid_background: bool,
    ) -> 'RecommendedColorStyles.Literals':
        """
        Returns the default color style for the given color system.
        """
        match (color_system, dark_background, solid_background):
            case (DisplayColorSystem.ANSI_256 | DisplayColorSystem.ANSI_RGB, False, False):
                return cls.OMNIPY_SELENIZED_WHITE
            case (DisplayColorSystem.ANSI_256 | DisplayColorSystem.ANSI_RGB, False, True):
                return cls.OMNIPY_SELENIZED_LIGHT
            case (DisplayColorSystem.ANSI_256 | DisplayColorSystem.ANSI_RGB, True, False):
                return cls.OMNIPY_SELENIZED_BLACK
            case (DisplayColorSystem.ANSI_256 | DisplayColorSystem.ANSI_RGB, True, True):
                return cls.OMNIPY_SELENIZED_DARK
            case _, False, _:
                return cls.ANSI_LIGHT
            case _, True, _:
                return cls.ANSI_DARK
            case _ as never:
                assert_never(never)  # type: ignore[arg-type] # Unsure why mypy fails here

ANSI_DARK class-attribute instance-attribute

ANSI_DARK: Literal['ansi-dark'] = 'ansi-dark'

ANSI_LIGHT class-attribute instance-attribute

ANSI_LIGHT: Literal['ansi-light'] = 'ansi-light'

AUTO class-attribute instance-attribute

AUTO: Literal['auto'] = 'auto'

The default color style, which is automatically replaced with one of the other recommended styles based on the color system, dark background and transparent background settings.

ANSI color styles are selected for color systems with fewer than 256 colors. Otherwise, the Omnipy Selenized styles are selected based on the dark background and transparent background settings.

All recommended styles will automatically replace themselves with other recommended styles if the color system or background settings change. If you want to fix a specific color style, you should use one of the other (non-recommended) styles directly.

Literals class-attribute instance-attribute

Literals = Literal[
    "auto",
    "ansi-dark",
    "ansi-light",
    "omnipy-selenized-black",
    "omnipy-selenized-dark",
    "omnipy-selenized-light",
    "omnipy-selenized-white",
]

OMNIPY_SELENIZED_BLACK class-attribute instance-attribute

OMNIPY_SELENIZED_BLACK: Literal['omnipy-selenized-black'] = 'omnipy-selenized-black'

OMNIPY_SELENIZED_DARK class-attribute instance-attribute

OMNIPY_SELENIZED_DARK: Literal['omnipy-selenized-dark'] = 'omnipy-selenized-dark'

OMNIPY_SELENIZED_LIGHT class-attribute instance-attribute

OMNIPY_SELENIZED_LIGHT: Literal['omnipy-selenized-light'] = 'omnipy-selenized-light'

OMNIPY_SELENIZED_WHITE class-attribute instance-attribute

OMNIPY_SELENIZED_WHITE: Literal['omnipy-selenized-white'] = 'omnipy-selenized-white'

get_default_style classmethod

get_default_style(
    color_system: DisplayColorSystem.Literals, dark_background: bool, solid_background: bool
) -> RecommendedColorStyles.Literals

Returns the default color style for the given color system.

Source code in src/omnipy/shared/enums/colorstyles.py
@classmethod
def get_default_style(
    cls,
    color_system: DisplayColorSystem.Literals,
    dark_background: bool,
    solid_background: bool,
) -> 'RecommendedColorStyles.Literals':
    """
    Returns the default color style for the given color system.
    """
    match (color_system, dark_background, solid_background):
        case (DisplayColorSystem.ANSI_256 | DisplayColorSystem.ANSI_RGB, False, False):
            return cls.OMNIPY_SELENIZED_WHITE
        case (DisplayColorSystem.ANSI_256 | DisplayColorSystem.ANSI_RGB, False, True):
            return cls.OMNIPY_SELENIZED_LIGHT
        case (DisplayColorSystem.ANSI_256 | DisplayColorSystem.ANSI_RGB, True, False):
            return cls.OMNIPY_SELENIZED_BLACK
        case (DisplayColorSystem.ANSI_256 | DisplayColorSystem.ANSI_RGB, True, True):
            return cls.OMNIPY_SELENIZED_DARK
        case _, False, _:
            return cls.ANSI_LIGHT
        case _, True, _:
            return cls.ANSI_DARK
        case _ as never:
            assert_never(never)  # type: ignore[arg-type] # Unsure why mypy fails here

RestoreOutputsOptions

Bases: LiteralEnum[str]

ATTRIBUTE DESCRIPTION
AUTO_ENABLE_IGNORE_PARAMS

TYPE: Literal['auto_ignore_params']

DISABLED

TYPE: Literal['disabled']

FOLLOW_CONFIG

TYPE: Literal['config']

FORCE_ENABLE_IGNORE_PARAMS

TYPE: Literal['force_ignore_params']

Literals

Source code in src/omnipy/shared/enums/job.py
class RestoreOutputsOptions(LiteralEnum[str]):
    Literals = Literal['disabled', 'config', 'auto_ignore_params', 'force_ignore_params']

    DISABLED: Literal['disabled'] = 'disabled'
    FOLLOW_CONFIG: Literal['config'] = 'config'
    AUTO_ENABLE_IGNORE_PARAMS: Literal['auto_ignore_params'] = 'auto_ignore_params'
    FORCE_ENABLE_IGNORE_PARAMS: Literal['force_ignore_params'] = 'force_ignore_params'

AUTO_ENABLE_IGNORE_PARAMS class-attribute instance-attribute

AUTO_ENABLE_IGNORE_PARAMS: Literal['auto_ignore_params'] = 'auto_ignore_params'

DISABLED class-attribute instance-attribute

DISABLED: Literal['disabled'] = 'disabled'

FOLLOW_CONFIG class-attribute instance-attribute

FOLLOW_CONFIG: Literal['config'] = 'config'

FORCE_ENABLE_IGNORE_PARAMS class-attribute instance-attribute

FORCE_ENABLE_IGNORE_PARAMS: Literal['force_ignore_params'] = 'force_ignore_params'

Literals class-attribute instance-attribute

Literals = Literal['disabled', 'config', 'auto_ignore_params', 'force_ignore_params']

RgbColorUserInterfaceType

Bases: PlainTerminalEmbeddedUserInterfaceType, IpythonEmbeddedTerminalUserInterfaceType, JupyterUserInterfaceType, BrowserUserInterfaceType

ATTRIBUTE DESCRIPTION
Literals

Source code in src/omnipy/shared/enums/ui.py
class RgbColorUserInterfaceType(PlainTerminalEmbeddedUserInterfaceType,
                                IpythonEmbeddedTerminalUserInterfaceType,
                                JupyterUserInterfaceType,
                                BrowserUserInterfaceType):
    Literals = Literal[
        PlainTerminalEmbeddedUserInterfaceType.Literals,
        IpythonEmbeddedTerminalUserInterfaceType.Literals,
        JupyterUserInterfaceType.Literals,
        BrowserUserInterfaceType.Literals,
    ]

RowWiseTableFirstRowAsColNamesModel

Bases: _RowWiseColNamesMixin, _RowWiseTableFirstRowAsColNamesModel, PrintableTable

Source code in src/omnipy/components/tables/models.py
class RowWiseTableFirstRowAsColNamesModel(
        _RowWiseColNamesMixin,
        _RowWiseTableFirstRowAsColNamesModel,
        PrintableTable,
):
    ...

RowWiseTableModel

Bases: Model[list[list[JsonScalar]]]

Source code in src/omnipy/components/tables/models.py
class RowWiseTableModel(Model[list[list[JsonScalar]]]):
    ...

RowWiseTableWithColNamesModel

Bases: _RowWiseColNamesMixin, _RowWiseTableWithColNamesModel, PrintableTable

Source code in src/omnipy/components/tables/models.py
class RowWiseTableWithColNamesModel(
        _RowWiseColNamesMixin,
        _RowWiseTableWithColNamesModel,
        PrintableTable,
):
    ...

RunState

Bases: LiteralEnum[int]

ATTRIBUTE DESCRIPTION
FINISHED

TYPE: Literal[3]

INITIALIZED

TYPE: Literal[1]

Literals

RUNNING

TYPE: Literal[2]

Source code in src/omnipy/shared/enums/job.py
class RunState(LiteralEnum[int]):
    Literals = Literal[1, 2, 3]

    INITIALIZED: Literal[1] = 1
    RUNNING: Literal[2] = 2
    FINISHED: Literal[3] = 3

FINISHED class-attribute instance-attribute

FINISHED: Literal[3] = 3

INITIALIZED class-attribute instance-attribute

INITIALIZED: Literal[1] = 1

Literals class-attribute instance-attribute

Literals = Literal[1, 2, 3]

RUNNING class-attribute instance-attribute

RUNNING: Literal[2] = 2

SpecifiedUserInterfaceType

Bases: PlainTerminalUserInterfaceType, IpythonTerminalUserInterfaceType, JupyterUserInterfaceType, BrowserUserInterfaceType

User interface types that are specified as a particular UI type, either automatically determined by Omnipy or hard-coded (i.e. for browser output). This is a union of all supported user interface types (including UNKNOWN), except for AUTO.

ATTRIBUTE DESCRIPTION
Literals

Source code in src/omnipy/shared/enums/ui.py
class SpecifiedUserInterfaceType(PlainTerminalUserInterfaceType,
                                 IpythonTerminalUserInterfaceType,
                                 JupyterUserInterfaceType,
                                 BrowserUserInterfaceType):
    """
    User interface types that are specified as a particular UI type, either
    automatically determined by Omnipy or hard-coded (i.e. for browser
    output). This is a union of all supported user interface types
    (including `UNKNOWN`), except for `AUTO`.
    """

    Literals = Literal[
        PlainTerminalUserInterfaceType.Literals,
        IpythonTerminalUserInterfaceType.Literals,
        JupyterUserInterfaceType.Literals,
        BrowserUserInterfaceType.Literals,
    ]

SplitLinesToColumnsByCommaModel

Bases: _SplitByCommaParamsMixin, SplitItemsToSubitemsModelBase

ATTRIBUTE DESCRIPTION
adjust

Source code in src/omnipy/components/raw/models.py
class SplitLinesToColumnsByCommaModel(_SplitByCommaParamsMixin, SplitItemsToSubitemsModelBase):
    adjust = bind_adjust_model_func(
        SplitItemsToSubitemsModelBase.clone_model_cls,
        _SplitByCommaParamsMixin.Params,
    )

adjust class-attribute instance-attribute

adjust = bind_adjust_model_func(
    SplitItemsToSubitemsModelBase.clone_model_cls, _SplitByCommaParamsMixin.Params
)

SplitLinesToColumnsDataset

Bases: _SplitItemsToSubitemsDataset[SplitLinesToColumnsModel]

ATTRIBUTE DESCRIPTION
adjust

Source code in src/omnipy/components/raw/datasets.py
class SplitLinesToColumnsDataset(_SplitItemsToSubitemsDataset[SplitLinesToColumnsModel]):
    adjust = bind_adjust_dataset_func(
        _SplitItemsToSubitemsDataset[SplitLinesToColumnsModel].clone_dataset_cls,
        SplitLinesToColumnsModel,
        SplitLinesToColumnsModel.Params,
    )

adjust class-attribute instance-attribute

adjust = bind_adjust_dataset_func(
    _SplitItemsToSubitemsDataset[SplitLinesToColumnsModel].clone_dataset_cls,
    SplitLinesToColumnsModel,
    SplitLinesToColumnsModel.Params,
)

SplitLinesToColumnsModel

Bases: _SplitByTabParamsMixin, SplitItemsToSubitemsModelBase

ATTRIBUTE DESCRIPTION
adjust

Source code in src/omnipy/components/raw/models.py
class SplitLinesToColumnsModel(_SplitByTabParamsMixin, SplitItemsToSubitemsModelBase):
    adjust = bind_adjust_model_func(
        SplitItemsToSubitemsModelBase.clone_model_cls,
        _SplitByTabParamsMixin.Params,
    )

adjust class-attribute instance-attribute

adjust = bind_adjust_model_func(
    SplitItemsToSubitemsModelBase.clone_model_cls, _SplitByTabParamsMixin.Params
)

SplitToItemsByTabModel

Bases: _SplitByTabParamsMixin, SplitToItemsModelBase

ATTRIBUTE DESCRIPTION
adjust

Source code in src/omnipy/components/raw/models.py
class SplitToItemsByTabModel(_SplitByTabParamsMixin, SplitToItemsModelBase):
    adjust = bind_adjust_model_func(
        SplitToItemsModelBase.clone_model_cls,
        _SplitByTabParamsMixin.Params,
    )

adjust class-attribute instance-attribute

adjust = bind_adjust_model_func(
    SplitToItemsModelBase.clone_model_cls, _SplitByTabParamsMixin.Params
)

SplitToItemsDataset

Bases: _SplitToItemsDataset[SplitToItemsModel]

ATTRIBUTE DESCRIPTION
adjust

Source code in src/omnipy/components/raw/datasets.py
class SplitToItemsDataset(_SplitToItemsDataset[SplitToItemsModel]):
    adjust = bind_adjust_dataset_func(
        _SplitToItemsDataset[SplitToItemsModel].clone_dataset_cls,
        SplitToItemsModel,
        SplitToItemsModel.Params,
    )

adjust class-attribute instance-attribute

adjust = bind_adjust_dataset_func(
    _SplitToItemsDataset[SplitToItemsModel].clone_dataset_cls,
    SplitToItemsModel,
    SplitToItemsModel.Params,
)

SplitToItemsModel

Bases: _SplitByCommaParamsMixin, SplitToItemsModelBase

ATTRIBUTE DESCRIPTION
adjust

Source code in src/omnipy/components/raw/models.py
class SplitToItemsModel(_SplitByCommaParamsMixin, SplitToItemsModelBase):
    adjust = bind_adjust_model_func(
        SplitToItemsModelBase.clone_model_cls,
        _SplitByCommaParamsMixin.Params,
    )

adjust class-attribute instance-attribute

adjust = bind_adjust_model_func(
    SplitToItemsModelBase.clone_model_cls, _SplitByCommaParamsMixin.Params
)

SplitToLinesDataset

Bases: _SplitToItemsDataset[SplitToLinesModel]

ATTRIBUTE DESCRIPTION
adjust

Source code in src/omnipy/components/raw/datasets.py
class SplitToLinesDataset(_SplitToItemsDataset[SplitToLinesModel]):
    adjust = bind_adjust_dataset_func(
        _SplitToItemsDataset[SplitToLinesModel].clone_dataset_cls,
        SplitToLinesModel,
        SplitToLinesModel.Params,
    )

adjust class-attribute instance-attribute

adjust = bind_adjust_dataset_func(
    _SplitToItemsDataset[SplitToLinesModel].clone_dataset_cls,
    SplitToLinesModel,
    SplitToLinesModel.Params,
)

SplitToLinesModel

Bases: _SplitByNewlineParamsMixin, SplitToItemsModelBase

ATTRIBUTE DESCRIPTION
adjust

Source code in src/omnipy/components/raw/models.py
class SplitToLinesModel(_SplitByNewlineParamsMixin, SplitToItemsModelBase):
    adjust = bind_adjust_model_func(
        SplitToItemsModelBase.clone_model_cls,
        _SplitByNewlineParamsMixin.Params,
    )

adjust class-attribute instance-attribute

adjust = bind_adjust_model_func(
    SplitToItemsModelBase.clone_model_cls, _SplitByNewlineParamsMixin.Params
)

StrDataset

Bases: _StrDataset[StrModel]

ATTRIBUTE DESCRIPTION
adjust

Source code in src/omnipy/components/raw/datasets.py
class StrDataset(_StrDataset[StrModel]):
    adjust = bind_adjust_dataset_func(
        _StrDataset[StrModel].clone_dataset_cls,
        StrModel,
        StrModel.Params,
    )

adjust class-attribute instance-attribute

adjust = bind_adjust_dataset_func(
    _StrDataset[StrModel].clone_dataset_cls, StrModel, StrModel.Params
)

StrModel

Bases: _StrModel

ATTRIBUTE DESCRIPTION
adjust

Source code in src/omnipy/components/raw/models.py
class StrModel(_StrModel):
    adjust = bind_adjust_model_func(
        _StrModel.clone_model_cls,
        _EncodingParamsMixin.Params,
    )

adjust class-attribute instance-attribute

adjust = bind_adjust_model_func(_StrModel.clone_model_cls, _EncodingParamsMixin.Params)

StrictBytesDataset

Bases: Dataset[StrictBytesModel]

Source code in src/omnipy/components/raw/datasets.py
class StrictBytesDataset(Dataset[StrictBytesModel]):
    ...

StrictBytesModel

Bases: Model[pyd.StrictBytes]

Source code in src/omnipy/components/raw/models.py
class StrictBytesModel(Model[pyd.StrictBytes]):
    ...

StrictStrDataset

Bases: Dataset[StrictStrModel]

Source code in src/omnipy/components/raw/datasets.py
class StrictStrDataset(Dataset[StrictStrModel]):
    ...

StrictStrModel

Bases: Model[pyd.StrictStr]

Source code in src/omnipy/components/raw/models.py
class StrictStrModel(Model[pyd.StrictStr]):
    ...

SupportsDarkTerminalBgDetection

Bases: TerminalUserInterfaceType, JupyterEmbeddedUserInterfaceType

ATTRIBUTE DESCRIPTION
Literals

Source code in src/omnipy/shared/enums/ui.py
class SupportsDarkTerminalBgDetection(TerminalUserInterfaceType, JupyterEmbeddedUserInterfaceType):
    Literals = Literal[
        TerminalUserInterfaceType.Literals,
        JupyterEmbeddedUserInterfaceType.Literals,
    ]

Literals class-attribute instance-attribute

SyntaxLanguageSpec

Bases: SyntaxLanguage

Specification of language for syntax recognition and highlighting.

The available values include all supported syntax languages (see SyntaxLanguage), plus the AUTO option for automatic syntax recognition.

METHOD DESCRIPTION
is_hexdump_syntax

Checks if the given syntax is a binary hexdump variant.

is_json_syntax

Checks if the given syntax is a JSON syntax.

is_python_syntax

Checks if the given syntax is a Python variant.

is_supported_syntax_language

Checks if the given syntax is a supported syntax language.

is_syntax_language_spec

Checks for a valid syntax language specification.

is_text_syntax

Checks if the given syntax is a general text syntax.

ATTRIBUTE DESCRIPTION
AUTO

Automatically select the syntax language.

TYPE: Literal['auto']

Literals

Source code in src/omnipy/shared/enums/display.py
class SyntaxLanguageSpec(SyntaxLanguage):
    """Specification of language for syntax recognition and highlighting.

    The available values include all supported syntax languages (see
    `SyntaxLanguage`), plus the  `AUTO` option for automatic syntax
    recognition.
    """

    Literals = Literal['auto', SyntaxLanguage.Literals]

    AUTO: Literal['auto'] = 'auto'
    """Automatically select the syntax language.

    Automatically set the syntax language in accordance with the specified
    pretty printer selected for the output (e.g. specified in `printer`
    config parameter). The syntax language specified in the
    `get_default_syntax_language()` class method is selected.
    """
    @classmethod
    def is_syntax_language_spec(cls, syntax: str) -> 'TypeIs[SyntaxLanguageSpec.Literals]':
        """Checks for a valid syntax language specification.

        This checks whether the syntax string is one of the supported
        options for syntax language specification (including `AUTO`).
        """
        return syntax in SyntaxLanguageSpec

    @classmethod
    def is_supported_syntax_language(
        cls,
        syntax: str,
    ) -> 'TypeIs[SyntaxLanguage.Literals]':
        """Checks if the given syntax is a supported syntax language.
        """
        return syntax in SyntaxLanguage

    @classmethod
    def is_json_syntax(cls, syntax: str) -> TypeIs[JsonSyntaxLanguage.Literals]:
        """Checks if the given syntax is a JSON syntax.
        """
        return syntax in JsonSyntaxLanguage

    @classmethod
    def is_text_syntax(cls, syntax: str) -> TypeIs[TextSyntaxLanguage.Literals]:
        """Checks if the given syntax is a general text syntax.
        """
        return syntax in TextSyntaxLanguage

    @classmethod
    def is_hexdump_syntax(cls, syntax: str) -> TypeIs[HexdumpSyntaxLanguage.Literals]:
        """Checks if the given syntax is a binary hexdump variant.
        """
        return syntax in HexdumpSyntaxLanguage

    @classmethod
    def is_python_syntax(cls, syntax: str) -> TypeIs[PythonSyntaxLanguage.Literals]:
        """Checks if the given syntax is a Python variant.
        """
        return syntax in PythonSyntaxLanguage

AUTO class-attribute instance-attribute

AUTO: Literal['auto'] = 'auto'

Automatically select the syntax language.

Automatically set the syntax language in accordance with the specified pretty printer selected for the output (e.g. specified in printer config parameter). The syntax language specified in the get_default_syntax_language() class method is selected.

Literals class-attribute instance-attribute

Literals = Literal['auto', SyntaxLanguage.Literals]

is_hexdump_syntax classmethod

is_hexdump_syntax(syntax: str) -> TypeIs[HexdumpSyntaxLanguage.Literals]

Checks if the given syntax is a binary hexdump variant.

Source code in src/omnipy/shared/enums/display.py
@classmethod
def is_hexdump_syntax(cls, syntax: str) -> TypeIs[HexdumpSyntaxLanguage.Literals]:
    """Checks if the given syntax is a binary hexdump variant.
    """
    return syntax in HexdumpSyntaxLanguage

is_json_syntax classmethod

is_json_syntax(syntax: str) -> TypeIs[JsonSyntaxLanguage.Literals]

Checks if the given syntax is a JSON syntax.

Source code in src/omnipy/shared/enums/display.py
@classmethod
def is_json_syntax(cls, syntax: str) -> TypeIs[JsonSyntaxLanguage.Literals]:
    """Checks if the given syntax is a JSON syntax.
    """
    return syntax in JsonSyntaxLanguage

is_python_syntax classmethod

is_python_syntax(syntax: str) -> TypeIs[PythonSyntaxLanguage.Literals]

Checks if the given syntax is a Python variant.

Source code in src/omnipy/shared/enums/display.py
@classmethod
def is_python_syntax(cls, syntax: str) -> TypeIs[PythonSyntaxLanguage.Literals]:
    """Checks if the given syntax is a Python variant.
    """
    return syntax in PythonSyntaxLanguage

is_supported_syntax_language classmethod

is_supported_syntax_language(syntax: str) -> TypeIs[SyntaxLanguage.Literals]

Checks if the given syntax is a supported syntax language.

Source code in src/omnipy/shared/enums/display.py
@classmethod
def is_supported_syntax_language(
    cls,
    syntax: str,
) -> 'TypeIs[SyntaxLanguage.Literals]':
    """Checks if the given syntax is a supported syntax language.
    """
    return syntax in SyntaxLanguage

is_syntax_language_spec classmethod

is_syntax_language_spec(syntax: str) -> TypeIs[SyntaxLanguageSpec.Literals]

Checks for a valid syntax language specification.

This checks whether the syntax string is one of the supported options for syntax language specification (including AUTO).

Source code in src/omnipy/shared/enums/display.py
@classmethod
def is_syntax_language_spec(cls, syntax: str) -> 'TypeIs[SyntaxLanguageSpec.Literals]':
    """Checks for a valid syntax language specification.

    This checks whether the syntax string is one of the supported
    options for syntax language specification (including `AUTO`).
    """
    return syntax in SyntaxLanguageSpec

is_text_syntax classmethod

is_text_syntax(syntax: str) -> TypeIs[TextSyntaxLanguage.Literals]

Checks if the given syntax is a general text syntax.

Source code in src/omnipy/shared/enums/display.py
@classmethod
def is_text_syntax(cls, syntax: str) -> TypeIs[TextSyntaxLanguage.Literals]:
    """Checks if the given syntax is a general text syntax.
    """
    return syntax in TextSyntaxLanguage

TableDictOfDictsOfJsonScalarsDataset

Bases: Dataset[ColumnWiseTableWithColNamesAndIndexModel]

Source code in src/omnipy/components/tables/datasets.py
class TableDictOfDictsOfJsonScalarsDataset(Dataset[ColumnWiseTableWithColNamesAndIndexModel]):
    ...

TableDictOfListsOfJsonScalarsDataset

Bases: Dataset[JsonScalarColumnWiseTableWithColNamesModel]

Source code in src/omnipy/components/tables/datasets.py
class TableDictOfListsOfJsonScalarsDataset(Dataset[JsonScalarColumnWiseTableWithColNamesModel]):
    ...

TableListOfDictsOfJsonScalarsDataset

Bases: Dataset[RowWiseTableWithColNamesModel]

Source code in src/omnipy/components/tables/datasets.py
class TableListOfDictsOfJsonScalarsDataset(Dataset[RowWiseTableWithColNamesModel]):
    ...

TableListOfListsOfJsonScalarsDataset

Bases: Dataset[RowWiseTableModel]

Source code in src/omnipy/components/tables/datasets.py
class TableListOfListsOfJsonScalarsDataset(Dataset[RowWiseTableModel]):
    ...

TableOfPydanticRecordsDataset

Bases: Dataset[TableOfPydanticRecordsModel[_PydanticModelT]], Generic[_PydanticModelT]

Source code in src/omnipy/components/tables/datasets.py
class TableOfPydanticRecordsDataset(Dataset[TableOfPydanticRecordsModel[_PydanticModelT]],
                                    Generic[_PydanticModelT]):
    ...

TableOfPydanticRecordsModel

Bases: Chain3[SplitToLinesModel, SplitLinesToColumnsModel, Model[list[PydanticRecordModel[_PydRecordT]]]], PrintableTable, Generic[_PydRecordT]

Source code in src/omnipy/components/tables/models.py
class TableOfPydanticRecordsModel(
        Chain3[SplitToLinesModel,
               SplitLinesToColumnsModel,
               Model[list[PydanticRecordModel[_PydRecordT]]]],
        PrintableTable,
        Generic[_PydRecordT],
):
    ...

TableWithColNamesDataset

Bases: Dataset[RowWiseTableFirstRowAsColNamesModel]

ATTRIBUTE DESCRIPTION
col_names

TYPE: tuple[str]

Source code in src/omnipy/components/tables/datasets.py
class TableWithColNamesDataset(Dataset[RowWiseTableFirstRowAsColNamesModel]):
    @property
    def col_names(self) -> tuple[str]:
        col_names = {}
        for data_file in self.values():
            col_names.update(dict.fromkeys(data_file.col_names))
        return tuple(col_names.keys())

col_names property

col_names: tuple[str]

Task

Bases: JobMixin[IsTaskTemplate[_CallP, _RetT], IsTask[_CallP, _RetT], _CallP, _RetT], TaskBase, FuncArgJobBase[IsTaskTemplate[_CallP, _RetT], IsTask[_CallP, _RetT], _CallP, _RetT], Generic[_CallP, _RetT]

Source code in src/omnipy/compute/task.py
class Task(JobMixin[IsTaskTemplate[_CallP, _RetT], IsTask[_CallP, _RetT], _CallP, _RetT],
           TaskBase,
           FuncArgJobBase[IsTaskTemplate[_CallP, _RetT], IsTask[_CallP, _RetT], _CallP, _RetT],
           Generic[_CallP, _RetT]):
    def _apply_engine_decorator(self, engine: IsEngine) -> None:
        if self.engine:
            engine = cast(IsTaskRunnerEngine, self.engine)
            self_with_mixins = cast(IsTask[_CallP, _RetT], self)
            engine.apply_task_decorator(self_with_mixins, self._accept_call_func_decorator)

    @classmethod
    def _get_job_template_subcls_for_revise(cls) -> type[IsTaskTemplate[_CallP, _RetT]]:
        return cast(type[IsTaskTemplate[_CallP, _RetT]], TaskTemplate)

TerminalOutputUserInterfaceType

Bases: PlainTerminalUserInterfaceType, IpythonTerminalUserInterfaceType, JupyterEmbeddedUserInterfaceType

ATTRIBUTE DESCRIPTION
Literals

Source code in src/omnipy/shared/enums/ui.py
class TerminalOutputUserInterfaceType(
        PlainTerminalUserInterfaceType,
        IpythonTerminalUserInterfaceType,
        JupyterEmbeddedUserInterfaceType,
):
    Literals = Literal[
        PlainTerminalUserInterfaceType.Literals,
        IpythonTerminalUserInterfaceType.Literals,
        JupyterEmbeddedUserInterfaceType.Literals,
    ]

TerminalUserInterfaceType

Bases: PlainTerminalUserInterfaceType, IpythonTerminalUserInterfaceType

ATTRIBUTE DESCRIPTION
Literals

Source code in src/omnipy/shared/enums/ui.py
class TerminalUserInterfaceType(PlainTerminalUserInterfaceType, IpythonTerminalUserInterfaceType):
    Literals = Literal[
        PlainTerminalUserInterfaceType.Literals,
        IpythonTerminalUserInterfaceType.Literals,
    ]

Literals class-attribute instance-attribute

TextSyntaxLanguage

Bases: LiteralEnum[str]

ATTRIBUTE DESCRIPTION
BASH

TYPE: Literal['bash']

CSS

TYPE: Literal['css']

HTML

TYPE: Literal['html']

Literals

MARKDOWN

TYPE: Literal['markdown']

NUMPY

TYPE: Literal['numpy']

SPARQL

TYPE: Literal['sparql']

SQL

TYPE: Literal['sql']

TEX

TYPE: Literal['tex']

TEXT

TYPE: Literal['text']

TOML

TYPE: Literal['toml']

XML

TYPE: Literal['xml']

YAML

TYPE: Literal['yaml']

Source code in src/omnipy/shared/enums/display.py
class TextSyntaxLanguage(LiteralEnum[str]):
    Literals = Literal['text',
                       'yaml',
                       'xml',
                       'toml',
                       'bash',
                       'sql',
                       'html',
                       'markdown',
                       'css',
                       'numpy',
                       'sparql',
                       'tex']

    TEXT: Literal['text'] = 'text'
    YAML: Literal['yaml'] = 'yaml'
    XML: Literal['xml'] = 'xml'
    TOML: Literal['toml'] = 'toml'
    BASH: Literal['bash'] = 'bash'
    SQL: Literal['sql'] = 'sql'
    HTML: Literal['html'] = 'html'
    MARKDOWN: Literal['markdown'] = 'markdown'
    NUMPY: Literal['numpy'] = 'numpy'
    CSS: Literal['css'] = 'css'
    SPARQL: Literal['sparql'] = 'sparql'
    TEX: Literal['tex'] = 'tex'

BASH class-attribute instance-attribute

BASH: Literal['bash'] = 'bash'

CSS class-attribute instance-attribute

CSS: Literal['css'] = 'css'

HTML class-attribute instance-attribute

HTML: Literal['html'] = 'html'

Literals class-attribute instance-attribute

Literals = Literal[
    "text",
    "yaml",
    "xml",
    "toml",
    "bash",
    "sql",
    "html",
    "markdown",
    "css",
    "numpy",
    "sparql",
    "tex",
]

MARKDOWN class-attribute instance-attribute

MARKDOWN: Literal['markdown'] = 'markdown'

NUMPY class-attribute instance-attribute

NUMPY: Literal['numpy'] = 'numpy'

SPARQL class-attribute instance-attribute

SPARQL: Literal['sparql'] = 'sparql'

SQL class-attribute instance-attribute

SQL: Literal['sql'] = 'sql'

TEX class-attribute instance-attribute

TEX: Literal['tex'] = 'tex'

TEXT class-attribute instance-attribute

TEXT: Literal['text'] = 'text'

TOML class-attribute instance-attribute

TOML: Literal['toml'] = 'toml'

XML class-attribute instance-attribute

XML: Literal['xml'] = 'xml'

YAML class-attribute instance-attribute

YAML: Literal['yaml'] = 'yaml'

TintedThemingBase16ColorStyles

Bases: DarkTintedThemingBase16ColorStyles, LightTintedThemingBase16ColorStyles

ATTRIBUTE DESCRIPTION
Literals

RANDOM_T16

TYPE: Literal['random-t16']

Source code in src/omnipy/shared/enums/colorstyles.py
class TintedThemingBase16ColorStyles(
        DarkTintedThemingBase16ColorStyles,
        LightTintedThemingBase16ColorStyles,
):
    f"""
    {_GENERAL_T16_COLOR_STYLE_DOCSTRING.format(description='All')}
    """

    Literals = Literal[DarkTintedThemingBase16ColorStyles.Literals,
                       LightTintedThemingBase16ColorStyles.Literals,
                       'random-t16']

    RANDOM_T16: Literal['random-t16'] = 'random-t16'

Literals class-attribute instance-attribute

RANDOM_T16 class-attribute instance-attribute

RANDOM_T16: Literal['random-t16'] = 'random-t16'

TsvTableDataset

Bases: Dataset[TsvTableModel]

Source code in src/omnipy/components/tables/datasets.py
class TsvTableDataset(Dataset[TsvTableModel]):
    ...

TsvTableModel

Bases: Chain3[SplitToLinesModel, SplitLinesToColumnsModel, RowWiseTableFirstRowAsColNamesModel], PrintableTable

Source code in src/omnipy/components/tables/models.py
class TsvTableModel(
        Chain3[
            SplitToLinesModel,
            SplitLinesToColumnsModel,
            RowWiseTableFirstRowAsColNamesModel,
        ],
        PrintableTable,
):
    ...

UrlPathModel

Bases: Model[PurePosixPath | str]

METHOD DESCRIPTION
to_data
Source code in src/omnipy/components/remote/models.py
class UrlPathModel(Model[PurePosixPath | str]):
    if TYPE_CHECKING and TYPE_CHECKER != 'mypy':

        def __new__(cls, *args: Any, **kwargs: Any) -> 'UrlPathModel_PurePosixPath':
            ...

    @classmethod
    def _parse_data(cls, data: PurePosixPath | str) -> PurePosixPath:
        return PurePosixPath(data) if isinstance(data, str) else data

    def to_data(self) -> str:
        return str(self.content)

    def __str__(self) -> str:
        return str(self.content)

    def _slash_operator(self, other: PurePosixPath | str | object) -> PurePosixPath:
        content = cast(PurePosixPath, self.content)
        match other:
            case PurePosixPath() | str():
                return content / other
            case _:
                return content / str(other)

    def __truediv__(self, other: PurePosixPath | str | object) -> 'UrlPathModel_PurePosixPath':
        return UrlPathModel(self._slash_operator(other))

    def __floordiv__(self, other: PurePosixPath | str | object) -> 'UrlPathModel_PurePosixPath':
        self.content = self._slash_operator(other)
        return self  # type: ignore[return-value]

    def __add__(self, other: PurePosixPath | str | object) -> 'UrlPathModel_PurePosixPath':
        return UrlPathModel(str(self) + str(other))

to_data

to_data() -> str
Source code in src/omnipy/components/remote/models.py
def to_data(self) -> str:
    return str(self.content)

UserInterfaceType

Bases: SpecifiedUserInterfaceType, LiteralEnum[str]

Describes the type of interface in use for interacting with the user, encompassing the support available for displaying output as well as how the user interacts with the library (including the type of interactive interpreter used, if any).

Should be automatically determined by Omnipy, but the user can also be set the user interface type manually in the config if for some reason needed (e.g. if auto-detection fails). In particular, the user can expect this to fail in other IDEs than PyCharm, which is the only IDE currently supported by Omnipy.

METHOD DESCRIPTION
is_browser
is_ipython_terminal
is_jupyter
is_jupyter_embedded
is_jupyter_in_browser
is_plain_terminal
is_terminal
requires_html_page_output
requires_html_tag_output
requires_terminal_output
supports_dark_terminal_bg_detection
supports_rgb_color_output
ATTRIBUTE DESCRIPTION
AUTO

The AUTO user interface type is used to describe that the user

TYPE: Literal['auto']

Literals

Source code in src/omnipy/shared/enums/ui.py
class UserInterfaceType(SpecifiedUserInterfaceType, LiteralEnum[str]):
    """
    Describes the type of interface in use for interacting with the user,
    encompassing the support available for displaying output as well as how
    the user interacts with the library (including the type of interactive
    interpreter used, if any).

    Should be automatically determined by Omnipy, but the user can also be
    set the user interface type manually in the config if for some reason
    needed (e.g. if auto-detection fails). In particular, the user can
    expect this to fail in other IDEs than PyCharm, which is the only IDE
    currently supported by Omnipy.
    """

    Literals = Literal[SpecifiedUserInterfaceType.Literals, 'auto']

    AUTO: Literal['auto'] = 'auto'
    """
    The `AUTO` user interface type is used to describe that the user
    interface type has not yet been determined, and that it should be
    automatically determined by Omnipy. This is the default value.
    """
    @classmethod
    def is_plain_terminal(
            cls, ui_type: 'UserInterfaceType.Literals'
    ) -> TypeIs[PlainTerminalUserInterfaceType.Literals]:
        f"""
        Check whether the user interface type refers to any plain
        (non-IPython) terminal UI types. {_UNKNOWN_NOTE} {_TYPEIS_NARROW_NOTE}
        """
        return ui_type in PlainTerminalUserInterfaceType

    @classmethod
    def is_ipython_terminal(
            cls, ui_type: 'UserInterfaceType.Literals'
    ) -> TypeIs[IpythonTerminalUserInterfaceType.Literals]:
        f"""
        Check whether the user interface type refers to an IPython
        interactive interpreter (REPL). {_TYPEIS_NARROW_NOTE}
        """
        return ui_type in IpythonTerminalUserInterfaceType

    @classmethod
    def is_terminal(
            cls,
            ui_type: 'UserInterfaceType.Literals') -> TypeIs[TerminalUserInterfaceType.Literals]:
        f"""
        Check whether the user interface type refers to any type of terminal
        UI types, including IPython and plain terminal.
         {_UNKNOWN_NOTE} {_TYPEIS_NARROW_NOTE}
        """
        return ui_type in TerminalUserInterfaceType

    @classmethod
    def is_jupyter_embedded(
            cls, ui_type: 'UserInterfaceType.Literals'
    ) -> TypeIs[JupyterEmbeddedUserInterfaceType.Literals]:
        f"""
        Check whether the user interface type refers to a Jupyter notebook
        embedded within other software, such as an IDE.
         {_TYPEIS_NARROW_NOTE}
        """
        return ui_type in JupyterEmbeddedUserInterfaceType

    @classmethod
    def supports_dark_terminal_bg_detection(
            cls, ui_type: 'UserInterfaceType.Literals'
    ) -> TypeIs[SupportsDarkTerminalBgDetection.Literals]:
        f"""
        Check whether the user interface type supports detection of dark
        background color by checking environment variables or using
        ANSI terminal functionality. This is typically the case for
        Jupyter notebooks embedded in IDEs, such as PyCharm, or other
        terminals.
         {_TYPEIS_NARROW_NOTE}
        """
        return ui_type in SupportsDarkTerminalBgDetection

    @classmethod
    def is_jupyter_in_browser(
        cls, ui_type: 'UserInterfaceType.Literals'
    ) -> TypeIs[JupyterInBrowserUserInterfaceType.Literals]:
        f"""
        Check whether the user interface type refers to a Jupyter notebook
        or JupyterLab environment opened from a web browser.
         {_TYPEIS_NARROW_NOTE}
        """
        return ui_type in JupyterInBrowserUserInterfaceType

    @classmethod
    def is_jupyter(
            cls,
            ui_type: 'UserInterfaceType.Literals') -> TypeIs[JupyterUserInterfaceType.Literals]:
        f"""
        Check whether the user interface type refers to a Jupyter notebook
        or JupyterLab environment in any context.
         {_TYPEIS_NARROW_NOTE}
        """
        return ui_type in JupyterUserInterfaceType

    @classmethod
    def is_browser(
            cls,
            ui_type: 'UserInterfaceType.Literals') -> TypeIs[BrowserUserInterfaceType.Literals]:
        f"""
        Check whether the user interface type refers to a web browser.
         {_TYPEIS_NARROW_NOTE}
        """
        return ui_type in BrowserUserInterfaceType

    @classmethod
    def supports_rgb_color_output(
            cls,
            ui_type: 'UserInterfaceType.Literals') -> TypeIs[RgbColorUserInterfaceType.Literals]:
        f"""
        Check whether the user interface type refers to any UI types that
        support RGB color output.
         {_TYPEIS_NARROW_NOTE}
        """
        return ui_type in RgbColorUserInterfaceType

    @classmethod
    def requires_terminal_output(
            cls, ui_type: 'UserInterfaceType.Literals'
    ) -> TypeIs[TerminalOutputUserInterfaceType.Literals]:
        f"""
        Check whether the user interface type refers to any UI types that
        require output with ANSI terminal encoding for colors and styles. If
        user interface type is unknown, we assume it is a terminal and try
        to autodetect color capabilities, as default for terminals (see
        `DisplayColorSystem.AUTO`).
         {_TYPEIS_NARROW_NOTE}
        """
        return ui_type in TerminalOutputUserInterfaceType

    @classmethod
    def requires_html_tag_output(
            cls, ui_type: 'UserInterfaceType.Literals'
    ) -> TypeIs[HtmlTagOutputUserInterfaceType.Literals]:
        f"""
        Check whether the user interface type refers to any UI types that
        require output as self-contained HTML tags for embedding in other
        HTML pages.
         {_TYPEIS_NARROW_NOTE}
        """
        return ui_type in HtmlTagOutputUserInterfaceType

    @classmethod
    def requires_html_page_output(
            cls, ui_type: 'UserInterfaceType.Literals'
    ) -> TypeIs[HtmlPageOutputUserInterfaceType.Literals]:
        f"""
        Check whether the user interface type refers to any UI types that
        require output as a full HTML page.
         {_TYPEIS_NARROW_NOTE}
        """
        return ui_type in HtmlPageOutputUserInterfaceType

AUTO class-attribute instance-attribute

AUTO: Literal['auto'] = 'auto'

The AUTO user interface type is used to describe that the user interface type has not yet been determined, and that it should be automatically determined by Omnipy. This is the default value.

Literals class-attribute instance-attribute

Literals = Literal[SpecifiedUserInterfaceType.Literals, 'auto']

is_browser classmethod

Source code in src/omnipy/shared/enums/ui.py
@classmethod
def is_browser(
        cls,
        ui_type: 'UserInterfaceType.Literals') -> TypeIs[BrowserUserInterfaceType.Literals]:
    f"""
    Check whether the user interface type refers to a web browser.
     {_TYPEIS_NARROW_NOTE}
    """
    return ui_type in BrowserUserInterfaceType

is_ipython_terminal classmethod

is_ipython_terminal(
    ui_type: UserInterfaceType.Literals,
) -> TypeIs[IpythonTerminalUserInterfaceType.Literals]
Source code in src/omnipy/shared/enums/ui.py
@classmethod
def is_ipython_terminal(
        cls, ui_type: 'UserInterfaceType.Literals'
) -> TypeIs[IpythonTerminalUserInterfaceType.Literals]:
    f"""
    Check whether the user interface type refers to an IPython
    interactive interpreter (REPL). {_TYPEIS_NARROW_NOTE}
    """
    return ui_type in IpythonTerminalUserInterfaceType

is_jupyter classmethod

Source code in src/omnipy/shared/enums/ui.py
@classmethod
def is_jupyter(
        cls,
        ui_type: 'UserInterfaceType.Literals') -> TypeIs[JupyterUserInterfaceType.Literals]:
    f"""
    Check whether the user interface type refers to a Jupyter notebook
    or JupyterLab environment in any context.
     {_TYPEIS_NARROW_NOTE}
    """
    return ui_type in JupyterUserInterfaceType

is_jupyter_embedded classmethod

is_jupyter_embedded(
    ui_type: UserInterfaceType.Literals,
) -> TypeIs[JupyterEmbeddedUserInterfaceType.Literals]
Source code in src/omnipy/shared/enums/ui.py
@classmethod
def is_jupyter_embedded(
        cls, ui_type: 'UserInterfaceType.Literals'
) -> TypeIs[JupyterEmbeddedUserInterfaceType.Literals]:
    f"""
    Check whether the user interface type refers to a Jupyter notebook
    embedded within other software, such as an IDE.
     {_TYPEIS_NARROW_NOTE}
    """
    return ui_type in JupyterEmbeddedUserInterfaceType

is_jupyter_in_browser classmethod

is_jupyter_in_browser(
    ui_type: UserInterfaceType.Literals,
) -> TypeIs[JupyterInBrowserUserInterfaceType.Literals]
Source code in src/omnipy/shared/enums/ui.py
@classmethod
def is_jupyter_in_browser(
    cls, ui_type: 'UserInterfaceType.Literals'
) -> TypeIs[JupyterInBrowserUserInterfaceType.Literals]:
    f"""
    Check whether the user interface type refers to a Jupyter notebook
    or JupyterLab environment opened from a web browser.
     {_TYPEIS_NARROW_NOTE}
    """
    return ui_type in JupyterInBrowserUserInterfaceType

is_plain_terminal classmethod

is_plain_terminal(
    ui_type: UserInterfaceType.Literals,
) -> TypeIs[PlainTerminalUserInterfaceType.Literals]
Source code in src/omnipy/shared/enums/ui.py
@classmethod
def is_plain_terminal(
        cls, ui_type: 'UserInterfaceType.Literals'
) -> TypeIs[PlainTerminalUserInterfaceType.Literals]:
    f"""
    Check whether the user interface type refers to any plain
    (non-IPython) terminal UI types. {_UNKNOWN_NOTE} {_TYPEIS_NARROW_NOTE}
    """
    return ui_type in PlainTerminalUserInterfaceType

is_terminal classmethod

Source code in src/omnipy/shared/enums/ui.py
@classmethod
def is_terminal(
        cls,
        ui_type: 'UserInterfaceType.Literals') -> TypeIs[TerminalUserInterfaceType.Literals]:
    f"""
    Check whether the user interface type refers to any type of terminal
    UI types, including IPython and plain terminal.
     {_UNKNOWN_NOTE} {_TYPEIS_NARROW_NOTE}
    """
    return ui_type in TerminalUserInterfaceType

requires_html_page_output classmethod

requires_html_page_output(
    ui_type: UserInterfaceType.Literals,
) -> TypeIs[HtmlPageOutputUserInterfaceType.Literals]
Source code in src/omnipy/shared/enums/ui.py
@classmethod
def requires_html_page_output(
        cls, ui_type: 'UserInterfaceType.Literals'
) -> TypeIs[HtmlPageOutputUserInterfaceType.Literals]:
    f"""
    Check whether the user interface type refers to any UI types that
    require output as a full HTML page.
     {_TYPEIS_NARROW_NOTE}
    """
    return ui_type in HtmlPageOutputUserInterfaceType

requires_html_tag_output classmethod

requires_html_tag_output(
    ui_type: UserInterfaceType.Literals,
) -> TypeIs[HtmlTagOutputUserInterfaceType.Literals]
Source code in src/omnipy/shared/enums/ui.py
@classmethod
def requires_html_tag_output(
        cls, ui_type: 'UserInterfaceType.Literals'
) -> TypeIs[HtmlTagOutputUserInterfaceType.Literals]:
    f"""
    Check whether the user interface type refers to any UI types that
    require output as self-contained HTML tags for embedding in other
    HTML pages.
     {_TYPEIS_NARROW_NOTE}
    """
    return ui_type in HtmlTagOutputUserInterfaceType

requires_terminal_output classmethod

requires_terminal_output(
    ui_type: UserInterfaceType.Literals,
) -> TypeIs[TerminalOutputUserInterfaceType.Literals]
Source code in src/omnipy/shared/enums/ui.py
@classmethod
def requires_terminal_output(
        cls, ui_type: 'UserInterfaceType.Literals'
) -> TypeIs[TerminalOutputUserInterfaceType.Literals]:
    f"""
    Check whether the user interface type refers to any UI types that
    require output with ANSI terminal encoding for colors and styles. If
    user interface type is unknown, we assume it is a terminal and try
    to autodetect color capabilities, as default for terminals (see
    `DisplayColorSystem.AUTO`).
     {_TYPEIS_NARROW_NOTE}
    """
    return ui_type in TerminalOutputUserInterfaceType

supports_dark_terminal_bg_detection classmethod

supports_dark_terminal_bg_detection(
    ui_type: UserInterfaceType.Literals,
) -> TypeIs[SupportsDarkTerminalBgDetection.Literals]
Source code in src/omnipy/shared/enums/ui.py
@classmethod
def supports_dark_terminal_bg_detection(
        cls, ui_type: 'UserInterfaceType.Literals'
) -> TypeIs[SupportsDarkTerminalBgDetection.Literals]:
    f"""
    Check whether the user interface type supports detection of dark
    background color by checking environment variables or using
    ANSI terminal functionality. This is typically the case for
    Jupyter notebooks embedded in IDEs, such as PyCharm, or other
    terminals.
     {_TYPEIS_NARROW_NOTE}
    """
    return ui_type in SupportsDarkTerminalBgDetection

supports_rgb_color_output classmethod

supports_rgb_color_output(
    ui_type: UserInterfaceType.Literals,
) -> TypeIs[RgbColorUserInterfaceType.Literals]
Source code in src/omnipy/shared/enums/ui.py
@classmethod
def supports_rgb_color_output(
        cls,
        ui_type: 'UserInterfaceType.Literals') -> TypeIs[RgbColorUserInterfaceType.Literals]:
    f"""
    Check whether the user interface type refers to any UI types that
    support RGB color output.
     {_TYPEIS_NARROW_NOTE}
    """
    return ui_type in RgbColorUserInterfaceType

VerticalOverflowMode

Bases: LiteralEnum[str]

Vertical overflow modes for the output. Vertical overflow modes have no effect on layout panels.

The vertical overflow modes are: - CROP_TOP: Crops the top of the output if it exceeds the height. - CROP_BOTTOM: Crops the bottom of the output if it exceeds the height.

ATTRIBUTE DESCRIPTION
CROP_BOTTOM

TYPE: Literal['crop_bottom']

CROP_TOP

TYPE: Literal['crop_top']

ELLIPSIS_BOTTOM

TYPE: Literal['ellipsis_bottom']

ELLIPSIS_TOP

TYPE: Literal['ellipsis_top']

Literals

Source code in src/omnipy/shared/enums/display.py
class VerticalOverflowMode(LiteralEnum[str]):
    """
    Vertical overflow modes for the output. Vertical overflow modes have
    no effect on layout panels.

    The vertical overflow modes are:
    - `CROP_TOP`: Crops the top of the output if it exceeds the height.
    - `CROP_BOTTOM`: Crops the bottom of the output if it exceeds the
        height.
    """

    Literals = Literal['crop_top', 'crop_bottom', 'ellipsis_top', 'ellipsis_bottom']

    CROP_TOP: Literal['crop_top'] = 'crop_top'
    CROP_BOTTOM: Literal['crop_bottom'] = 'crop_bottom'
    ELLIPSIS_TOP: Literal['ellipsis_top'] = 'ellipsis_top'
    ELLIPSIS_BOTTOM: Literal['ellipsis_bottom'] = 'ellipsis_bottom'

CROP_BOTTOM class-attribute instance-attribute

CROP_BOTTOM: Literal['crop_bottom'] = 'crop_bottom'

CROP_TOP class-attribute instance-attribute

CROP_TOP: Literal['crop_top'] = 'crop_top'

ELLIPSIS_BOTTOM class-attribute instance-attribute

ELLIPSIS_BOTTOM: Literal['ellipsis_bottom'] = 'ellipsis_bottom'

ELLIPSIS_TOP class-attribute instance-attribute

ELLIPSIS_TOP: Literal['ellipsis_top'] = 'ellipsis_top'

Literals class-attribute instance-attribute

Literals = Literal['crop_top', 'crop_bottom', 'ellipsis_top', 'ellipsis_bottom']

async_get_github_repo_urls async

async_get_github_repo_urls(
    owner: str, repo: str, branch: str, path: str | Path, file_suffix: str | None = None
) -> HttpUrlDataset
Source code in src/omnipy/components/remote/tasks.py
@TaskTemplate()
async def async_get_github_repo_urls(
    owner: str,
    repo: str,
    branch: str,
    path: str | Path,
    file_suffix: str | None = None,
) -> HttpUrlDataset:

    repo_context = GithubRepoContext(owner=owner, repo=repo, branch=branch, path=path)

    if file_suffix:
        return await _async_get_urls_for_files_in_dir_with_suffix(repo_context, file_suffix)
    else:
        return _get_url_for_single_file(repo_context)

async_load_urls_into_new_dataset async

async_load_urls_into_new_dataset(
    urls: HttpUrlDataset,
    dataset_cls: type[_JsonDatasetT] = JsonDataset,
    as_mime_type: str | None = None,
) -> _JsonDatasetT
Source code in src/omnipy/components/remote/tasks.py
@TaskTemplate()
async def async_load_urls_into_new_dataset(
    urls: HttpUrlDataset,
    dataset_cls: type[_JsonDatasetT] = JsonDataset,
    as_mime_type: str | None = None,
) -> _JsonDatasetT:
    return await dataset_cls.load(urls, as_mime_type=as_mime_type)

bind_adjust_dataset_func

bind_adjust_dataset_func(
    clone_dataset_func: Callable[..., type[_DatasetT]],
    model_cls: type[_ModelT],
    params_cls: Callable[_ParamsP, Any],
) -> Callable[Concatenate[str, str, _ParamsP], type[_DatasetT]]
Source code in src/omnipy/data/param.py
def bind_adjust_dataset_func(
    clone_dataset_func: Callable[..., type[_DatasetT]],
    model_cls: type[_ModelT],
    params_cls: Callable[_ParamsP, Any],
) -> Callable[Concatenate[str, str, _ParamsP], type[_DatasetT]]:
    def _func(dataset_name: str, model_name: str, *args: _ParamsP.args,
              **kwargs: _ParamsP.kwargs) -> type[_DatasetT]:
        if len(args) > 0:
            raise AttributeError(f'Positional arguments are not supported for '
                                 f'{params_cls.__module__}.{params_cls.__name__}')
        new_model_cls: type[_ModelT] = cast(
            type[_ModelT],
            model_cls.adjust(model_name, **kwargs),  # type: ignore[attr-defined]
        )

        new_dataset_cls = clone_dataset_func(dataset_name, new_model_cls)
        new_model_cls.Params = params_cls.copy_and_adjust(  # type: ignore[attr-defined]
            'Params',
            **kwargs,
        )
        return new_dataset_cls

    return _func

bind_adjust_model_func

bind_adjust_model_func(
    clone_model_func: Callable[..., type[_ModelT]], params_cls: Callable[_ParamsP, Any]
) -> Callable[Concatenate[str, _ParamsP], type[_ModelT]]
Source code in src/omnipy/data/param.py
def bind_adjust_model_func(
    clone_model_func: Callable[..., type[_ModelT]],
    params_cls: Callable[_ParamsP, Any],
) -> Callable[Concatenate[str, _ParamsP], type[_ModelT]]:
    def _func(model_name: str, *args: _ParamsP.args, **kwargs: _ParamsP.kwargs) -> type[_ModelT]:
        if len(args) > 0:
            raise AttributeError(f'Positional arguments are not supported for '
                                 f'{params_cls.__module__}.{params_cls.__name__}')
        new_model_cls = clone_model_func(model_name)
        new_model_cls.Params = params_cls.copy_and_adjust(  # type: ignore[attr-defined]
            'Params',
            **kwargs,
        )
        return new_model_cls

    return _func

cartesian_product

cartesian_product(table_1: PandasModel, table_2: PandasModel) -> PandasModel
Source code in src/omnipy/components/pandas/tasks.py
@TaskTemplate()
def cartesian_product(table_1: PandasModel, table_2: PandasModel) -> PandasModel:
    from .lazy_import import pd

    merged_df = pd.merge(
        table_1.loc[:, :],
        table_2.loc[:, :],
        how='cross',
        suffixes=('_1', '_2'),
    ).convert_dtypes()

    return PandasModel(merged_df)

concat_all

concat_all(dataset: Dataset[_SequenceModelT]) -> _SequenceModelT
Source code in src/omnipy/components/raw/tasks.py
@TaskTemplate()
def concat_all(dataset: Dataset[_SequenceModelT]) -> _SequenceModelT:
    return reduce(add, (val for val in dataset.values()))

concat_dataframes_across_datasets

concat_dataframes_across_datasets(
    dataset_list: ListOfPandasDatasetsWithSameNumberOfFiles, vertical=True
) -> PandasDataset
Source code in src/omnipy/components/pandas/tasks.py
@TaskTemplate()
def concat_dataframes_across_datasets(dataset_list: ListOfPandasDatasetsWithSameNumberOfFiles,
                                      vertical=True) -> PandasDataset:
    from .lazy_import import pd

    # We know from the data type that there are at least two datasets and that there is an equal
    # amount of files/DataFrames in each dataset. This simplifies implementation.

    out_dataset = PandasDataset()
    out_datafile_names = tuple(dataset_list[0].keys())
    for df_index in range(len(out_datafile_names)):
        df = pd.concat([tuple(dataset.values())[df_index] for dataset in dataset_list],
                       axis=0 if vertical else 1)
        out_dataset[out_datafile_names[df_index]] = df
    return out_dataset

convert_dataset

convert_dataset(dataset: Dataset, dataset_cls: type[_DatasetT], **kwargs: object) -> _DatasetT
Source code in src/omnipy/components/general/tasks.py
@TaskTemplate()
def convert_dataset(dataset: Dataset, dataset_cls: type[_DatasetT], **kwargs: object) -> _DatasetT:
    return dataset_cls(dataset, **kwargs)  # type: ignore[arg-type]

convert_dataset_csv_to_pandas

convert_dataset_csv_to_pandas(
    dataset: Dataset[Model[bytes]],
    delimiter: str = ",",
    first_row_as_col_names=True,
    col_names: list[str] | None = None,
    ignore_comments: bool = True,
    comments_char: str = "#",
) -> PandasDataset
Source code in src/omnipy/components/pandas/tasks.py
@TaskTemplate()
def convert_dataset_csv_to_pandas(dataset: Dataset[Model[bytes]],
                                  delimiter: str = ',',
                                  first_row_as_col_names=True,
                                  col_names: list[str] | None = None,
                                  ignore_comments: bool = True,
                                  comments_char: str = '#') -> PandasDataset:
    from .lazy_import import pd

    out_dataset = PandasDataset()
    for key, item in dataset.items():
        df = pd.read_csv(
            StringIO(item.content),
            sep=delimiter,
            header='infer' if first_row_as_col_names else 0,
            names=col_names,
            comment=comments_char if ignore_comments else None,
            encoding='utf8',
        )
        out_dataset[key] = df
    return out_dataset

convert_dataset_list_of_dicts_to_pandas

convert_dataset_list_of_dicts_to_pandas(
    dataset: Dataset[Model[list[dict[str, NotIterableExceptStrOrBytesModel]]]],
) -> PandasDataset
Source code in src/omnipy/components/pandas/tasks.py
@TaskTemplate()
def convert_dataset_list_of_dicts_to_pandas(
        dataset: Dataset[Model[list[dict[str, NotIterableExceptStrOrBytesModel]]]]) \
        -> PandasDataset:
    pandas_dataset = PandasDataset()
    pandas_dataset.from_data(dataset.to_data())
    return pandas_dataset

convert_dataset_pandas_to_csv

convert_dataset_pandas_to_csv(
    dataset: PandasDataset,
    delimiter: str = ",",
    first_row_as_col_names=True,
    col_names: list[str] | None = None,
) -> Dataset[Model[str]]
Source code in src/omnipy/components/pandas/tasks.py
@TaskTemplate()
def convert_dataset_pandas_to_csv(
    dataset: PandasDataset,
    delimiter: str = ',',
    first_row_as_col_names=True,
    col_names: list[str] | None = None,
) -> Dataset[Model[str]]:
    out_dataset = Dataset[Model[str]]()
    for key, df in dataset.items():
        csv_stream = StringIO()
        df.to_csv(
            csv_stream,
            sep=delimiter,
            header=col_names if col_names else True if first_row_as_col_names else False,
            encoding='utf8',
            index=False)
        out_dataset[key] = csv_stream.getvalue()
    return out_dataset

convert_dataset_string_to_json

convert_dataset_string_to_json(dataset: Dataset[Model[str]]) -> JsonDataset
Source code in src/omnipy/components/json/tasks.py
@TaskTemplate()
def convert_dataset_string_to_json(dataset: Dataset[Model[str]]) -> JsonDataset:
    json_dataset = JsonDataset()
    json_dataset.from_json(dataset.to_data())
    return json_dataset

create_row_index_from_column

create_row_index_from_column(
    list_of_dicts: RowWiseTableWithColNamesModel, column_key: str
) -> ColumnWiseTableWithColNamesAndIndexModel
Source code in src/omnipy/components/tables/tasks.py
@TaskTemplate(iterate_over_data_files=True)
def create_row_index_from_column(list_of_dicts: RowWiseTableWithColNamesModel,
                                 column_key: str) -> ColumnWiseTableWithColNamesAndIndexModel:
    output_dict = {}
    input_table = cast(list[dict[str, JsonScalar]], list_of_dicts.to_data())
    for item in input_table:
        item_copy = copy(item)
        new_key = item[column_key]
        del item_copy[column_key]
        output_dict[new_key] = item_copy
    return ColumnWiseTableWithColNamesAndIndexModel(output_dict)

decode_bytes

decode_bytes(data: Model[bytes], encoding: str | None = None) -> str
Source code in src/omnipy/components/raw/tasks.py
@TaskTemplate(iterate_over_data_files=True, output_dataset_cls=StrDataset)
def decode_bytes(data: Model[bytes], encoding: str | None = None) -> str:
    if encoding is None:
        detector = UniversalDetector()
        for line in data.splitlines():
            detector.feed(line)
            if detector.done:
                break
        detector.close()
        result = detector.result

        encoding = result['encoding']
        confidence = result['confidence']
        language = result['language']

        # TODO: Implement simple solution to log from a task/flow.
        # TODO: Implement solution to add information to the dataset metadata and apply this to
        #       decode_bytes() for storing detected encoding etc.
        print(f'Automatically detected text encoding to be "{encoding}" with confidence '
              f'"{confidence}". The language is predicted to be "{language}". '
              f'(All predictions have been made by the "chardet" library.)')

        if encoding is None:
            encoding = 'ascii'

    return data.decode(encoding)

extract_columns_as_files

extract_columns_as_files(dataset: PandasDataset, col_names: list[str]) -> PandasDataset
Source code in src/omnipy/components/pandas/tasks.py
@TaskTemplate()
def extract_columns_as_files(dataset: PandasDataset, col_names: list[str]) -> PandasDataset:
    from .lazy_import import pd

    out_dataset = PandasDataset()
    for key, item in dataset.items():
        df = dataset[key]
        out_dataset[key] = df.loc[:, ~df.columns.isin(col_names)]

        for col_name in col_names:
            out_dataset[f'{key}.{col_name}'] = pd.DataFrame(df[col_name])
    return out_dataset

flatten_isa_json

flatten_isa_json(dataset: IsaJsonDataset) -> FlattenedIsaJsonDataset
Source code in src/omnipy/components/isa/flows.py
@LinearFlowTemplate(
    convert_dataset.refine(fixed_params=dict(dataset_cls=JsonDictOfDictsDataset)),
    transpose_dict_of_dicts_2_list_of_dicts,
    flatten_nested_json,
    convert_dataset.refine(fixed_params=dict(dataset_cls=FlattenedIsaJsonDataset)))
def flatten_isa_json(dataset: IsaJsonDataset) -> FlattenedIsaJsonDataset:
    ...

flatten_nested_json

flatten_nested_json(
    dataset: JsonListOfDictsDataset, id_key: str, ref_key: str, default_key: str
) -> JsonListOfDictsOfScalarsDataset
Source code in src/omnipy/components/json/flows.py
@FuncFlowTemplate(fixed_params=dict(id_key=ID_KEY, ref_key=REF_KEY, default_key=DEFAULT_KEY))
def flatten_nested_json(
    dataset: JsonListOfDictsDataset,
    id_key: str,
    ref_key: str,
    default_key: str,
) -> JsonListOfDictsOfScalarsDataset:
    all_data_files_of_scalar_records_ds = JsonListOfDictsOfScalarsDataset()
    data_files_of_any_ds = dataset

    while len(data_files_of_any_ds) > 0:
        data_files_of_scalar_records_ds, data_files_of_any_ds = \
            _flatten_outer_level_of_all_data_files(
                data_files_of_any_ds, id_key, ref_key, default_key)

        all_data_files_of_scalar_records_ds |= data_files_of_scalar_records_ds

    return all_data_files_of_scalar_records_ds

generate_literal_enum_code

generate_literal_enum_code(
    values: ValueType,
    docstrings: Mapping[LiteralEnumInnerTypes, Sequence[str]] | None = None,
    include_imports: bool = True,
    class_name: str = "NewLiteralEnum",
) -> str

Generate code for a LiteralEnum class based on a tuple of string values.

PARAMETER DESCRIPTION
values

Either one of the following: 1. Tuple of objects that define the literal values for the enum, where each value will be converted to a valid attribute name 2. Dict of string keys to values, where the keys are used as attribute names

TYPE: ValueType

docstrings

Optional dictionary mapping values to their corresponding docstrings. If provided, the docstrings will be added to the generated class attributes. The keys should match the values in values. If None, no docstrings are added (default: None)

TYPE: Mapping[LiteralEnumInnerTypes, Sequence[str]] | None DEFAULT: None

include_imports

If True, includes necessary imports for Literal and LiteralEnum (default: True)

TYPE: bool DEFAULT: True

class_name

The name of the generated class (default: 'GeneratedEnum')

TYPE: str DEFAULT: 'NewLiteralEnum'

RETURNS DESCRIPTION
str

A string containing the complete Python code for a LiteralEnum class

RAISES DESCRIPTION
ValueError

If no values are provided or if class_name is not a valid identifier

Example

code = generate_literal_enum_code(('active', 'inactive', 'pending')) print(code) from typing import Literal

from omnipy.util.literal_enum import LiteralEnum

class GeneratedEnum(LiteralEnum[str]): Literals = Literal['active', 'inactive', 'pending'] ACTIVE: Literal['active'] = 'active' INACTIVE: Literal['inactive'] = 'inactive' PENDING: Literal['pending'] = 'pending'

Source code in src/omnipy/util/literal_enum_generator.py
def generate_literal_enum_code(
    values: ValueType,
    docstrings: Mapping[LiteralEnumInnerTypes, Sequence[str]] | None = None,
    include_imports: bool = True,
    class_name: str = 'NewLiteralEnum',
) -> str:
    """
    Generate code for a LiteralEnum class based on a tuple of string values.

    Parameters:
        values: Either one of the following:
            1. Tuple of objects that define the literal values for the enum,
               where each value will be converted to a valid attribute name
            2. Dict of string keys to values, where the keys are used as
               attribute names
        docstrings: Optional dictionary mapping values to their
            corresponding docstrings. If provided, the docstrings will be
            added to the generated class attributes. The keys should match
            the values in `values`. If None, no docstrings are added
            (default: None)
        include_imports: If True, includes necessary imports for Literal and
            LiteralEnum (default: True)
        class_name: The name of the generated class (default:
            'GeneratedEnum')

    Returns:
        A string containing the complete Python code for a LiteralEnum class

    Raises:
        ValueError: If no values are provided or if class_name is not a
            valid identifier

    Example:
        >>> code = generate_literal_enum_code(('active', 'inactive', 'pending'))
        >>> print(code)
        from typing import Literal

        from omnipy.util.literal_enum import LiteralEnum


        class GeneratedEnum(LiteralEnum[str]):
            Literals = Literal['active', 'inactive', 'pending']
            ACTIVE: Literal['active'] = 'active'
            INACTIVE: Literal['inactive'] = 'inactive'
            PENDING: Literal['pending'] = 'pending'
    """
    enum_mappings = _generate_attrib_names(values)
    _check_params(values, docstrings, class_name, enum_mappings)

    lines: list[str] = []

    lines = _build_import_lines(lines, include_imports)
    lines = _build_class_definition_lines(lines, class_name, enum_mappings)
    lines = _build_attribute_definitions(docstrings, enum_mappings, lines)

    code = '\n'.join(lines)
    return code

get_bytes_from_api_endpoint async

get_bytes_from_api_endpoint(
    url: HttpUrlModel,
    client_session: ClientSession | None = None,
    retry_http_statuses: tuple[int, ...] = DEFAULT_RETRY_STATUSES,
    retry_attempts: int = DEFAULT_RETRIES,
    retry_backoff_strategy: BackoffStrategy.Literals = DEFAULT_BACKOFF_STRATEGY,
) -> BytesModel
Source code in src/omnipy/components/remote/tasks.py
@TaskTemplate(iterate_over_data_files=True, output_dataset_cls=BytesDataset)
async def get_bytes_from_api_endpoint(
    url: HttpUrlModel,
    client_session: 'ClientSession | None' = None,
    retry_http_statuses: tuple[int, ...] = DEFAULT_RETRY_STATUSES,
    retry_attempts: int = DEFAULT_RETRIES,
    retry_backoff_strategy: BackoffStrategy.Literals = DEFAULT_BACKOFF_STRATEGY,
) -> BytesModel:
    from .lazy_import import ClientSession

    async for retry_session in _ensure_retry_session(
            client_session,
            retry_http_statuses,
            retry_attempts,
            retry_backoff_strategy,
    ):
        async for response in _call_get(url, cast(ClientSession, retry_session)):
            output_data = BytesModel(await response.read())
    return output_data

get_github_repo_urls

get_github_repo_urls(
    owner: str, repo: str, branch: str, path: str | Path, file_suffix: str | None = None
) -> HttpUrlDataset
Source code in src/omnipy/components/remote/tasks.py
@TaskTemplate()
def get_github_repo_urls(
    owner: str,
    repo: str,
    branch: str,
    path: str | Path,
    file_suffix: str | None = None,
) -> HttpUrlDataset:

    repo_context = GithubRepoContext(owner=owner, repo=repo, branch=branch, path=path)

    if file_suffix:
        return _get_urls_for_files_in_dir_with_suffix(repo_context, file_suffix)
    else:
        return _get_url_for_single_file(repo_context)

get_json_from_api_endpoint async

get_json_from_api_endpoint(
    url: HttpUrlModel,
    client_session: ClientSession | None = None,
    retry_http_statuses: tuple[int, ...] = DEFAULT_RETRY_STATUSES,
    retry_attempts: int = DEFAULT_RETRIES,
    retry_backoff_strategy: BackoffStrategy.Literals = DEFAULT_BACKOFF_STRATEGY,
) -> JsonModel
Source code in src/omnipy/components/remote/tasks.py
@TaskTemplate(iterate_over_data_files=True, output_dataset_cls=JsonDataset)
async def get_json_from_api_endpoint(
    url: HttpUrlModel,
    client_session: 'ClientSession | None' = None,
    retry_http_statuses: tuple[int, ...] = DEFAULT_RETRY_STATUSES,
    retry_attempts: int = DEFAULT_RETRIES,
    retry_backoff_strategy: BackoffStrategy.Literals = DEFAULT_BACKOFF_STRATEGY,
) -> JsonModel:
    from .lazy_import import ClientSession

    async for retry_session in _ensure_retry_session(
            client_session,
            retry_http_statuses,
            retry_attempts,
            retry_backoff_strategy,
    ):
        async for response in _call_get(url, cast(ClientSession, retry_session)):
            output_data = JsonModel(await response.json(content_type=None))
    return output_data

get_str_from_api_endpoint async

get_str_from_api_endpoint(
    url: HttpUrlModel,
    client_session: ClientSession | None = None,
    retry_http_statuses: tuple[int, ...] = DEFAULT_RETRY_STATUSES,
    retry_attempts: int = DEFAULT_RETRIES,
    retry_backoff_strategy: BackoffStrategy.Literals = DEFAULT_BACKOFF_STRATEGY,
) -> StrModel
Source code in src/omnipy/components/remote/tasks.py
@TaskTemplate(iterate_over_data_files=True, output_dataset_cls=StrDataset)
async def get_str_from_api_endpoint(
    url: HttpUrlModel,
    client_session: 'ClientSession | None' = None,
    retry_http_statuses: tuple[int, ...] = DEFAULT_RETRY_STATUSES,
    retry_attempts: int = DEFAULT_RETRIES,
    retry_backoff_strategy: BackoffStrategy.Literals = DEFAULT_BACKOFF_STRATEGY,
) -> StrModel:
    from .lazy_import import ClientSession

    async for retry_session in _ensure_retry_session(
            client_session,
            retry_http_statuses,
            retry_attempts,
            retry_backoff_strategy,
    ):
        async for response in _call_get(url, cast(ClientSession, retry_session)):
            output_data = StrModel(await response.text())
    return output_data

import_directory

import_directory(
    directory: str | Path,
    exclude_prefixes: tuple[str, ...] = (".", "_"),
    include_suffixes: tuple[str, ...] = (),
    dataset_cls: type[_DatasetT] = Dataset[Model[str]],
    open_func: Callable[[str], IOBase] = open,
) -> _DatasetT
Source code in src/omnipy/components/general/tasks.py
@TaskTemplate()
def import_directory(
        directory: str | Path,
        exclude_prefixes: tuple[str, ...] = ('.', '_'),
        include_suffixes: tuple[str, ...] = (),
        dataset_cls: type[_DatasetT] = Dataset[Model[str]],  # type: ignore
        open_func: Callable[[str], IOBase] = open) -> _DatasetT:
    dataset = dataset_cls()
    for import_filename in os.listdir(directory):
        if not exclude_prefixes or \
                not any(import_filename.startswith(prefix) for prefix in exclude_prefixes):
            if not include_suffixes or \
                    any(import_filename.endswith(suffix) for suffix in include_suffixes):
                with open_func(os.path.join(directory, import_filename)) as open_file:
                    dataset_name = '_'.join(import_filename.split('.')[:-1])
                    print(f"{import_filename} -> Dataset['{dataset_name}']")
                    dataset[dataset_name] = open_file.read()
    return dataset

is_dataset_instance

is_dataset_instance(__obj: object) -> TypeIs[Dataset]
Source code in src/omnipy/data/dataset.py
def is_dataset_instance(__obj: object) -> 'TypeIs[Dataset]':
    return lenient_isinstance(__obj, Dataset)

is_dataset_subclass cached

is_dataset_subclass(__cls: TypeForm) -> TypeIs[type[Dataset]]
Source code in src/omnipy/data/dataset.py
@functools.cache
def is_dataset_subclass(__cls: TypeForm) -> 'TypeIs[type[Dataset]]':
    return lenient_issubclass(__cls, Dataset)

is_model_instance

is_model_instance(__obj: object) -> TypeIs[Model]
Source code in src/omnipy/data/model.py
def is_model_instance(__obj: object) -> 'TypeIs[Model]':
    return lenient_isinstance(__obj, Model) \
        and not is_none_type(__obj)  # Consequence of _ModelMetaclass hack

is_model_subclass cached

is_model_subclass(__cls: TypeForm) -> TypeIs[type[Model]]
Source code in src/omnipy/data/model.py
@functools.cache
def is_model_subclass(__cls: TypeForm) -> 'TypeIs[type[Model]]':
    return lenient_issubclass(__cls, Model) \
        and not is_none_type(__cls)  # Consequence of _ModelMetaclass hack

is_non_omnipy_pydantic_model

is_non_omnipy_pydantic_model(obj: object)
Source code in src/omnipy/data/model.py
def is_non_omnipy_pydantic_model(obj: object):
    mro = type(obj).__mro__
    return mro[0] != pyd.BaseModel \
        and (pyd.BaseModel in mro or pyd.GenericModel in mro) \
        and Model not in mro \
        and Dataset not in mro

is_pure_pydantic_model

is_pure_pydantic_model(obj: object)
Source code in src/omnipy/data/model.py
def is_pure_pydantic_model(obj: object):
    return type(obj).__bases__ == (pyd.BaseModel,)

join_tables

join_tables(
    table_1: PandasModel,
    table_2: PandasModel,
    join_type: str = "outer",
    on_cols: Sequence[str] | Mapping[str, str] | None = None,
) -> PandasModel
Source code in src/omnipy/components/pandas/tasks.py
@TaskTemplate()
def join_tables(table_1: PandasModel,
                table_2: PandasModel,
                join_type: str = 'outer',
                on_cols: Sequence[str] | Mapping[str, str] | None = None) -> PandasModel:
    from .lazy_import import pd

    if join_type == 'cross':
        raise ValueError('join_type="cross" not supported. Please use "cartesian_product" task.')
    assert join_type in ['inner', 'outer', 'left', 'right']

    common_colnames = extract_common_colnames(table_1, table_2)

    if (on_cols is None and len(common_colnames) == 0) \
            or (on_cols is not None and len(on_cols) == 0):
        raise ValueError(f'No common column names were found. '
                         f'table_1: {tuple(table_1.columns)}. '
                         f'table_2: {tuple(table_2.columns)}. '
                         f'on_cols: {on_cols}')

    on = None
    left_on = None
    right_on = None

    if on_cols is None:
        on = common_colnames
    elif isinstance(on_cols, Mapping):
        left_on = tuple(on_cols.keys())
        right_on = tuple(on_cols.values())
    else:
        on = on_cols

    column_info = f'common columns: {on}' if on is not None \
        else f'column mappings: {tuple(on_cols.items())}'
    print(f'Joining tables on {column_info}, using join type: {join_type}...')

    merged_df = pd.merge(
        table_1.loc[:, :],
        table_2.loc[:, :],
        on=on,
        left_on=left_on,
        right_on=right_on,
        how=join_type,
        suffixes=('_1', '_2'),
    ).convert_dtypes()

    return PandasModel(merged_df)

load_urls_into_new_dataset

load_urls_into_new_dataset(
    urls: HttpUrlDataset,
    dataset_cls: type[_JsonDatasetT] = JsonDataset,
    as_mime_type: str | None = None,
) -> _JsonDatasetT
Source code in src/omnipy/components/remote/tasks.py
@TaskTemplate()
def load_urls_into_new_dataset(
    urls: HttpUrlDataset,
    dataset_cls: type[_JsonDatasetT] = JsonDataset,
    as_mime_type: str | None = None,
) -> _JsonDatasetT:
    return dataset_cls.load(urls, as_mime_type=as_mime_type)

modify_all_lines

modify_all_lines(
    data_file: Model[str], modify_all_lines_func: IsModifyAllLinesCallable, **kwargs: object
) -> str
Source code in src/omnipy/components/raw/tasks.py
@TaskTemplate(iterate_over_data_files=True)
def modify_all_lines(
    data_file: Model[str],
    modify_all_lines_func: IsModifyAllLinesCallable,
    **kwargs: object,
) -> str:
    all_lines = [line.strip() for line in StringIO(str(data_file))]
    modified_lines = modify_all_lines_func(all_lines, **kwargs)
    return os.linesep.join(modified_lines)

modify_datafile_content

modify_datafile_content(
    data_file: Model[str], modify_content_func: IsModifyContentCallable, **kwargs: object
) -> str
Source code in src/omnipy/components/raw/tasks.py
@TaskTemplate(iterate_over_data_files=True)
def modify_datafile_content(
    data_file: Model[str],
    modify_content_func: IsModifyContentCallable,
    **kwargs: object,
) -> str:
    return modify_content_func(str(data_file), **kwargs)

modify_each_line

modify_each_line(
    data_file: Model[str], modify_line_func: IsModifyEachLineCallable, **kwargs: object
) -> str
Source code in src/omnipy/components/raw/tasks.py
@TaskTemplate(iterate_over_data_files=True)
def modify_each_line(
    data_file: Model[str],
    modify_line_func: IsModifyEachLineCallable,
    **kwargs: object,
) -> str:
    output_data = StringIO()
    for i, line in enumerate(StringIO(str(data_file))):
        modified_line = modify_line_func(i, line, **kwargs)
        if modified_line is not None:
            output_data.write(modified_line)
    return output_data.getvalue()

params_dataclass

params_dataclass(cls: type[_ParamsT]) -> type[_ParamsT]
Source code in src/omnipy/data/param.py
@dataclass_transform(kw_only_default=True)
def params_dataclass(cls: type[_ParamsT]) -> type[_ParamsT]:
    def wrap(cls):
        return dataclass(cls, kw_only=True)

    return wrap(cls)

remove_columns

remove_columns(
    json_dataset: JsonListOfDictsDataset, column_keys_for_data_items: dict[str, list[str]]
) -> JsonListOfDictsDataset
Source code in src/omnipy/components/tables/tasks.py
@TaskTemplate()
def remove_columns(json_dataset: JsonListOfDictsDataset,
                   column_keys_for_data_items: dict[str, list[str]]) -> JsonListOfDictsDataset:
    # TODO: implement general solution to make sure that one does not modify input data by
    #       automatically copying or otherwise. Perhaps setting immutable/frozen option in pydantic,
    #       if available?
    #
    dataset_copy = deepcopy(json_dataset)
    for data_item_key, column_keys in column_keys_for_data_items.items():
        for record in dataset_copy[data_item_key]:
            for column in column_keys:
                if column in record:
                    del record[column]
    return JsonListOfDictsDataset(json_dataset.to_data())

rename_col_names

rename_col_names(
    data_file: RowWiseTableFirstRowAsColNamesModel, prev2new_keymap: dict[str, str]
) -> RowWiseTableFirstRowAsColNamesModel
Source code in src/omnipy/components/tables/tasks.py
@TaskTemplate(iterate_over_data_files=True, output_dataset_cls=TableWithColNamesDataset)
def rename_col_names(data_file: RowWiseTableFirstRowAsColNamesModel,
                     prev2new_keymap: dict[str, str]) -> RowWiseTableFirstRowAsColNamesModel:
    return RowWiseTableFirstRowAsColNamesModel([{
        prev2new_keymap[key] if key in prev2new_keymap else key: val for key, val in row.items()
    } for row in data_file])

setup_jupyter_ui

setup_jupyter_ui()

Sets up the Jupyter user interface by displaying the CSS styles and adding hidden reactive elements for Jupyter Notebook or JupyterLab. Hidden reactive elements include:

- A reactive element monitoring background color changes to detect changes in theme (dark/light) - A reactive element monitoring the available display size to auto-scale Omnipy outputs accordingly.

This function is typically called in a Jupyter environment to ensure proper display and interaction with Omnipy components.

Source code in src/omnipy/hub/ui.py
def setup_jupyter_ui():
    """
    Sets up the Jupyter user interface by displaying the CSS styles and
    adding hidden reactive elements for Jupyter Notebook or JupyterLab.
    Hidden reactive elements include:

      - A reactive element monitoring background color changes to detect
        changes in theme (dark/light)
      - A reactive element monitoring the available display size to
        auto-scale Omnipy outputs accordingly.

    This function is typically called in a Jupyter environment to ensure
    proper display and interaction with Omnipy components.
    """
    from IPython.display import display

    from omnipy import runtime
    import omnipy.data._display.integrations.jupyter.components as jupy_comp

    detected_ui_type = runtime.config.data.ui.detected_type

    embedded_content_styling = dedent("""\
        /*
        Remove black lines in ANSI-encoded code blocks
        */

        .jp-RenderedText pre {
            line-height: normal !important;
        }""")

    jupyter_in_browser_styling = dedent("""\
        /*
        Improve font rendering
        */

        #main, .vuetify-styles {
            text-rendering: geometricPrecision;
            -webkit-font-smoothing: subpixel-antialiased;
            -moz-osx-font-smoothing: grayscale;
        }

        /*
        Workaround for an issue where cells that are far out of view
        lose their padding. This causes issues with panels resizing
        when scrolling quickly.
        */

        .jp-Cell {
            padding: var(--jp-cell-padding) !important;
        }

        /*
        Remove horizontal spacing for vuetify code elements
        */

        :where(.vuetify-styles) .v-application code:after,
        :where(.vuetify-styles) .v-application code:before,
        :where(.vuetify-styles) .v-application kbd:after,
        :where(.vuetify-styles) .v-application kbd:before {
            content: none;
            letter-spacing: 0px;
        }

        /*
        Remove Vuetify background color in order to support
        solid_background=False
        */

        :where(.vuetify-styles) .v-application code {
            background-color: unset;
        }

        :where(.vuetify-styles) .theme--dark.v-sheet {
            background-color: unset;
        }

        :where(.vuetify-styles) .theme--light.v-sheet {
            background-color: unset;
        }

        /*
        Remove padding and margin for hidden widgets to remove vertical
        whitespace
        */

        .solara-content-main > div.col:has(> .omnipy-hidden) {
            padding: 0px !important;
        }

        .solara-content-main:has(.omnipy-hidden) {
            margin: 0px !important;
        }

        /*
        Make sure cell that contain hidden widgets do not collapse
        completely when scrolled out of view.
        */

        .jp-Cell.getsize-protected-cell[style*="display: none;"]{
            display: block !important;
            height: 0px !important;
            opacity: 0px !important;
            padding: 0px 5px 0px 5px !important;
            }

        /*
        Fix horizontal stripes in HTML output when reactive widgets are not
        loaded (e.g. if a notebook with stored HTML outputs is viewed
        without rerunning the cells).
        */

        .jp-RenderedHTMLCommon code {
            display: inline-block;
        }

        """) + embedded_content_styling

    assert UserInterfaceType.is_jupyter(detected_ui_type), \
        (f'Unexpected user interface type: {detected_ui_type}. Expected '
         'a Jupyter variant. If run from a Jupyter session, please '
         'restart the kernel and try again.')

    display(
        note_mime_bundle(
            bullet='⚠️',
            html_content=('This cell was not loaded properly! You probably '
                          'want to rerun the code cell above (<i>Click in '
                          'the code cell, and press Shift+Enter '
                          '<kbd>⇧</kbd>+<kbd>↩</kbd></i>).'),
            noscript=True,
        ),
        raw=True,
    )

    jupyter_ui_config = runtime.config.data.ui.get_ui_type_config(detected_ui_type)

    if UserInterfaceType.is_jupyter_embedded(detected_ui_type):
        display(
            note_mime_bundle(
                bullet='⚙️',
                html_content=('This cell contains CSS styling to improve '
                              'display of Omnipy terminal text output in '
                              'a web browser. This is needed if you load '
                              'a notebook with saved outputs that were '
                              'originally generated in embedded mode '
                              '(e.g. from within PyCharm).'),
                plain_text_content=('No Omnipy-related CSS styling was '
                                    'loaded due to plain text output.'),
                styling=embedded_content_styling,
            ),
            raw=True,
        )
    else:
        assert UserInterfaceType.is_jupyter_in_browser(detected_ui_type), \
            (f'Unexpected user interface type: {detected_ui_type}. If this '
             'is shown then there is most probably a bug in Omnipy. Please '
             'report it on GitHub.')

        assert isinstance(jupyter_ui_config, IsJupyterUserInterfaceConfig)

        display(
            note_mime_bundle(
                bullet='⚙️',
                html_content=('This cell contains CSS styling and hidden '
                              'widgets to allow clean and reactive display '
                              'of Omnipy outputs when running Jupyter in '
                              'a web browser.'),
                plain_text_content=('No Omnipy-related CSS styling or '
                                    'hidden widgets were loaded due to '
                                    'plain text output.'),
                styling=jupyter_in_browser_styling,
            ),
            raw=True,
        )

    display(
        note_mime_bundle(
            bullet='↻',
            html_content=('<i>Make sure to rerun this cell whenever '
                          'the kernel is restarted.</i>'),
        ),
        raw=True,
    )

    if not UserInterfaceType.is_jupyter_embedded(detected_ui_type):
        assert isinstance(jupyter_ui_config, IsJupyterUserInterfaceConfig)

        display(
            note_mime_bundle(
                bullet='🔧',
                html_content=('<i>Workaround for '
                              '<a href="https://github.com/jupyterlab/jupyterlab/issues/15968">'
                              'JupyterLab erratic scrolling issue</a>:</i> '
                              'set the "Windowing mode" setting under the '
                              '"Notebook" section of the "Settings Editor" '
                              '(from the "Settings" menu) to '
                              '<i>"defer"</i> instead of the '
                              'default <i>"full"</i>. Reactive '
                              'functionality might be less responsive '
                              'in this mode.'),
            ),
            raw=True,
        )

        bg_color_updater = jupy_comp.ReactiveBgColorUpdater(jupyter_ui_config=jupyter_ui_config)
        bg_color_updater.mime_bundle = note_mime_bundle(
            bullet='⚠️',
            html_content='Widget to automatically detect theme background color was not loaded.',
        )
        display(bg_color_updater)

        assert runtime.objects.reactive is not None
        size_updater = jupy_comp.ReactiveAvailableDisplaySizeUpdater(
            jupyter_ui_config=jupyter_ui_config,
            reactive_objects=runtime.objects.reactive,
        )
        size_updater.mime_bundle = note_mime_bundle(
            bullet='⚠️',
            html_content='Widget to automatically detect window size was not loaded.',
        )
        display(size_updater)

        mime_bundle_end = {'text/html': dedent("""\
                <noscript></noscript>""")}
        display(mime_bundle_end, raw=True)

split_dataset

split_dataset(
    dataset: Dataset[Model[object]], datafile_names_for_b: list[str]
) -> tuple[Dataset[Model[object]], Dataset[Model[object]]]
Source code in src/omnipy/components/general/tasks.py
@TaskTemplate()
def split_dataset(
        dataset: Dataset[Model[object]],
        datafile_names_for_b: list[str]) -> tuple[Dataset[Model[object]], Dataset[Model[object]]]:
    _type = dataset.get_type()
    datafile_names_for_a = set(dataset.keys()) - set(datafile_names_for_b)
    dataset_a = Dataset[_type](  # type: ignore[valid-type]
        {
            name: dataset[name] for name in dataset.keys() if name in datafile_names_for_a
        })
    dataset_b = Dataset[_type](  # type: ignore[valid-type]
        {
            name: dataset[name] for name in dataset.keys() if name in datafile_names_for_b
        })
    return dataset_a, dataset_b

transpose_columns_with_data_files

transpose_columns_with_data_files(
    dataset: TableWithColNamesDataset, exclude_cols: tuple[str]
) -> None
Source code in src/omnipy/components/tables/tasks.py
@TaskTemplate()
def transpose_columns_with_data_files(dataset: TableWithColNamesDataset,
                                      exclude_cols: tuple[str]) -> None:
    output_dataset = JsonListOfDictsDataset()

    max_len = max(len(data_file) for data_file in dataset.values())

    # TODO: Make Dataset behave like a defaultDict, possibly also with auto-expanding lists?
    for column_name in dataset.col_names:
        if column_name not in exclude_cols:
            output_dataset[column_name] = [{}] * max_len

    for data_file_name, data_file in dataset.items():
        for row_i, el in enumerate(data_file):
            for key, val in el.items():
                if key in exclude_cols:
                    for data_file in output_dataset.values():
                        data_file[row_i][key] = val
                else:
                    output_dataset[key][row_i][data_file_name] = val

    return output_dataset

transpose_dict_of_dicts_2_list_of_dicts

transpose_dict_of_dicts_2_list_of_dicts(
    dataset: JsonDictOfDictsDataset, id_key: str = ID_KEY
) -> JsonListOfDictsDataset
Source code in src/omnipy/components/json/flows.py
@FuncFlowTemplate()
def transpose_dict_of_dicts_2_list_of_dicts(
    dataset: JsonDictOfDictsDataset,
    id_key: str = ID_KEY,
) -> JsonListOfDictsDataset:
    output_dataset = JsonListOfDictsDataset()
    output_dataset |= transpose_dicts_2_lists(dataset, id_key=id_key)
    return output_dataset

transpose_dicts_2_lists

transpose_dicts_2_lists(dataset: JsonDictDataset, id_key: str = ID_KEY) -> JsonListDataset
Source code in src/omnipy/components/json/tasks.py
@TaskTemplate()
def transpose_dicts_2_lists(dataset: JsonDictDataset, id_key: str = ID_KEY) -> JsonListDataset:
    input_dataset: dict[str, JsonDict] = dataset.to_data()
    output_dataset: dict[str, JsonList] = {}

    for name, item in input_dataset.items():
        for key, val in item.items():
            if key not in output_dataset:
                output_dataset[key] = []

            if not obj_or_model_content_isinstance(val, list):
                val = [val]
            for item_index, val_item in enumerate(val):
                if obj_or_model_content_isinstance(val_item, dict):
                    val_dict: dict[str, Json] = {
                        id_key: f'{name}_{item_index}' if item_index > 0 else name
                    }
                    assert id_key not in val_item
                    val_dict |= val_item
                    output_dataset[key].append(val_dict)
                else:
                    output_dataset[key].append(val_item)

    return JsonListDataset(output_dataset)

transpose_dicts_of_lists_of_dicts_2_lists_of_dicts

transpose_dicts_of_lists_of_dicts_2_lists_of_dicts(
    dataset: JsonDictOfListsOfDictsDataset, id_key: str = ID_KEY
) -> JsonListOfDictsDataset
Source code in src/omnipy/components/json/flows.py
@FuncFlowTemplate()
def transpose_dicts_of_lists_of_dicts_2_lists_of_dicts(
    dataset: JsonDictOfListsOfDictsDataset,
    id_key: str = ID_KEY,
) -> JsonListOfDictsDataset:
    output_dataset = JsonListOfDictsDataset()
    output_dataset |= transpose_dicts_2_lists(dataset, id_key=id_key)
    return output_dataset

union_all

union_all(dataset: Dataset[_UniqueModelT]) -> _UniqueModelT
Source code in src/omnipy/components/raw/tasks.py
@TaskTemplate()
def union_all(dataset: Dataset[_UniqueModelT]) -> _UniqueModelT:
    all_vals = tuple(val for val in dataset.values())
    assert len(all_vals) > 0
    first_val = deepcopy(all_vals[0])

    return reduce(ior, chain((first_val,), all_vals[1:]))