Skip to content

omnipy.components.raw.models

Raw text and binary models for encoding, splitting, joining, and filtering content.

CLASS DESCRIPTION
BytesModel

Store binary content with optional string-to-bytes coercion.

JoinColumnsByCommaToLinesModel

Join column lists into comma-delimited lines.

JoinColumnsToLinesModel

Join column lists into tab-delimited lines.

JoinItemsModel

Join a list of items into one string.

JoinItemsModelBase

Normalize string lists into a single joined string.

JoinLinesModel

Join items into newline-delimited text.

JoinSubitemsToItemsModel

Join nested subitem lists into flat comma-delimited items.

JoinSubitemsToItemsModelBase

Normalize nested string lists into a flat list of joined items.

ListOfNestedListsOfStrModel

Represent lists that recursively contain nested string lists.

MatchItemsModel

Filter a list of strings with configurable predicate functions.

NestedJoinItemsModel

Recursively join nested string lists using a delimiter hierarchy.

NestedListsOfStrModel

Represent either a string or recursively nested lists of strings.

NestedSplitToItemsModel

Recursively split string content using a delimiter hierarchy.

SplitItemsToSubitemsModel

Split each item into comma-delimited subitems.

SplitItemsToSubitemsModelBase

Normalize input into a two-dimensional list of string items.

SplitLinesToColumnsByCommaModel

Split each line of text into comma-delimited columns.

SplitLinesToColumnsModel

Split each line of text into tab-delimited columns.

SplitToItemsByTabModel

Split tab-delimited text into a flat list of items.

SplitToItemsModel

Split a delimiter-separated string into items.

SplitToItemsModelBase

Normalize text input into a flat list of string items.

SplitToLinesModel

Split text into a list of lines.

StrModel

Store text content with optional bytes-to-string coercion.

StrictBytesModel

Store binary content without string coercion.

StrictStrModel

Store text content without implicit coercion.

ATTRIBUTE DESCRIPTION
ListOfNestedPlainListsOfStr

TYPE: TypeAlias

NestedListsOfStr

TYPE: TypeAlias

NestedPlainListsOfStr

TYPE: TypeAlias

ListOfNestedPlainListsOfStr module-attribute

ListOfNestedPlainListsOfStr: TypeAlias = list['NestedPlainListsOfStr']

NestedListsOfStr module-attribute

NestedListsOfStr: TypeAlias = str | ListOfNestedListsOfStrModel

NestedPlainListsOfStr module-attribute

NestedPlainListsOfStr: TypeAlias = str | ListOfNestedPlainListsOfStr

BytesModel

Bases: _BytesModel


              flowchart BT
              omnipy.components.raw.models.BytesModel[BytesModel]
              omnipy.components.raw.models._BytesModel[_BytesModel]
              omnipy.data.model.Model[Model]
              omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
              omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
              omnipy.data._data_class_creator.DataClassBase[DataClassBase]
              omnipy.components.raw.models._EncodingParamsMixin[_EncodingParamsMixin]

                              omnipy.components.raw.models._BytesModel --> omnipy.components.raw.models.BytesModel
                                omnipy.data.model.Model --> omnipy.components.raw.models._BytesModel
                                omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
                                omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
                

                omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
                
                omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
                

                omnipy.components.raw.models._EncodingParamsMixin --> omnipy.components.raw.models._BytesModel
                



              click omnipy.components.raw.models.BytesModel href "" "omnipy.components.raw.models.BytesModel"
              click omnipy.components.raw.models._BytesModel href "" "omnipy.components.raw.models._BytesModel"
              click omnipy.data.model.Model href "" "omnipy.data.model.Model"
              click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
              click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
              click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
              click omnipy.components.raw.models._EncodingParamsMixin href "" "omnipy.components.raw.models._EncodingParamsMixin"
            

Store binary content with optional string-to-bytes coercion.

This model accepts either bytes or str input. String input is encoded using the configured encoding parameter before storage.

ATTRIBUTE DESCRIPTION
adjust

Source code in src/omnipy/components/raw/models.py
class BytesModel(_BytesModel):
    """Store binary content with optional string-to-bytes coercion.

    This model accepts either ``bytes`` or ``str`` input. String input is
    encoded using the configured ``encoding`` parameter before storage.
    """

    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)

JoinColumnsByCommaToLinesModel

Bases: _JoinByCommaParamsMixin, JoinSubitemsToItemsModelBase


              flowchart BT
              omnipy.components.raw.models.JoinColumnsByCommaToLinesModel[JoinColumnsByCommaToLinesModel]
              omnipy.components.raw.models._JoinByCommaParamsMixin[_JoinByCommaParamsMixin]
              omnipy.components.raw.models.JoinSubitemsToItemsModelBase[JoinSubitemsToItemsModelBase]
              omnipy.data.model.Model[Model]
              omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
              omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
              omnipy.data._data_class_creator.DataClassBase[DataClassBase]

                              omnipy.components.raw.models._JoinByCommaParamsMixin --> omnipy.components.raw.models.JoinColumnsByCommaToLinesModel
                
                omnipy.components.raw.models.JoinSubitemsToItemsModelBase --> omnipy.components.raw.models.JoinColumnsByCommaToLinesModel
                                omnipy.data.model.Model --> omnipy.components.raw.models.JoinSubitemsToItemsModelBase
                                omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
                                omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
                

                omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
                
                omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
                




              click omnipy.components.raw.models.JoinColumnsByCommaToLinesModel href "" "omnipy.components.raw.models.JoinColumnsByCommaToLinesModel"
              click omnipy.components.raw.models._JoinByCommaParamsMixin href "" "omnipy.components.raw.models._JoinByCommaParamsMixin"
              click omnipy.components.raw.models.JoinSubitemsToItemsModelBase href "" "omnipy.components.raw.models.JoinSubitemsToItemsModelBase"
              click omnipy.data.model.Model href "" "omnipy.data.model.Model"
              click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
              click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
              click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
            

Join column lists into comma-delimited lines.

This model turns row/column table fragments into CSV-like line strings.

ATTRIBUTE DESCRIPTION
adjust

Source code in src/omnipy/components/raw/models.py
class JoinColumnsByCommaToLinesModel(_JoinByCommaParamsMixin, JoinSubitemsToItemsModelBase):
    """Join column lists into comma-delimited lines.

    This model turns row/column table fragments into CSV-like line strings.
    """

    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
)

JoinColumnsToLinesModel

Bases: _JoinByTabParamsMixin, JoinSubitemsToItemsModelBase


              flowchart BT
              omnipy.components.raw.models.JoinColumnsToLinesModel[JoinColumnsToLinesModel]
              omnipy.components.raw.models._JoinByTabParamsMixin[_JoinByTabParamsMixin]
              omnipy.components.raw.models.JoinSubitemsToItemsModelBase[JoinSubitemsToItemsModelBase]
              omnipy.data.model.Model[Model]
              omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
              omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
              omnipy.data._data_class_creator.DataClassBase[DataClassBase]

                              omnipy.components.raw.models._JoinByTabParamsMixin --> omnipy.components.raw.models.JoinColumnsToLinesModel
                
                omnipy.components.raw.models.JoinSubitemsToItemsModelBase --> omnipy.components.raw.models.JoinColumnsToLinesModel
                                omnipy.data.model.Model --> omnipy.components.raw.models.JoinSubitemsToItemsModelBase
                                omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
                                omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
                

                omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
                
                omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
                




              click omnipy.components.raw.models.JoinColumnsToLinesModel href "" "omnipy.components.raw.models.JoinColumnsToLinesModel"
              click omnipy.components.raw.models._JoinByTabParamsMixin href "" "omnipy.components.raw.models._JoinByTabParamsMixin"
              click omnipy.components.raw.models.JoinSubitemsToItemsModelBase href "" "omnipy.components.raw.models.JoinSubitemsToItemsModelBase"
              click omnipy.data.model.Model href "" "omnipy.data.model.Model"
              click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
              click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
              click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
            

Join column lists into tab-delimited lines.

This model turns row/column table fragments into TSV-like line strings.

ATTRIBUTE DESCRIPTION
adjust

Source code in src/omnipy/components/raw/models.py
class JoinColumnsToLinesModel(_JoinByTabParamsMixin, JoinSubitemsToItemsModelBase):
    """Join column lists into tab-delimited lines.

    This model turns row/column table fragments into TSV-like line strings.
    """

    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
)

JoinItemsModel

Bases: _JoinByCommaParamsMixin, JoinItemsModelBase


              flowchart BT
              omnipy.components.raw.models.JoinItemsModel[JoinItemsModel]
              omnipy.components.raw.models._JoinByCommaParamsMixin[_JoinByCommaParamsMixin]
              omnipy.components.raw.models.JoinItemsModelBase[JoinItemsModelBase]
              omnipy.data.model.Model[Model]
              omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
              omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
              omnipy.data._data_class_creator.DataClassBase[DataClassBase]

                              omnipy.components.raw.models._JoinByCommaParamsMixin --> omnipy.components.raw.models.JoinItemsModel
                
                omnipy.components.raw.models.JoinItemsModelBase --> omnipy.components.raw.models.JoinItemsModel
                                omnipy.data.model.Model --> omnipy.components.raw.models.JoinItemsModelBase
                                omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
                                omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
                

                omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
                
                omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
                




              click omnipy.components.raw.models.JoinItemsModel href "" "omnipy.components.raw.models.JoinItemsModel"
              click omnipy.components.raw.models._JoinByCommaParamsMixin href "" "omnipy.components.raw.models._JoinByCommaParamsMixin"
              click omnipy.components.raw.models.JoinItemsModelBase href "" "omnipy.components.raw.models.JoinItemsModelBase"
              click omnipy.data.model.Model href "" "omnipy.data.model.Model"
              click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
              click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
              click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
            

Join a list of items into one string.

This variant uses commas as delimiters by default.

ATTRIBUTE DESCRIPTION
adjust

Source code in src/omnipy/components/raw/models.py
class JoinItemsModel(_JoinByCommaParamsMixin, JoinItemsModelBase):
    """Join a list of items into one string.

    This variant uses commas as delimiters by default.
    """

    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)

JoinItemsModelBase

Bases: Model[str | list[str]]


              flowchart BT
              omnipy.components.raw.models.JoinItemsModelBase[JoinItemsModelBase]
              omnipy.data.model.Model[Model]
              omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
              omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
              omnipy.data._data_class_creator.DataClassBase[DataClassBase]

                              omnipy.data.model.Model --> omnipy.components.raw.models.JoinItemsModelBase
                                omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
                                omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
                

                omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
                
                omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
                



              click omnipy.components.raw.models.JoinItemsModelBase href "" "omnipy.components.raw.models.JoinItemsModelBase"
              click omnipy.data.model.Model href "" "omnipy.data.model.Model"
              click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
              click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
              click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
            

Normalize string lists into a single joined string.

Input may already be a string or a list of strings that should be joined according to the active join-parameter mixin.

Source code in src/omnipy/components/raw/models.py
class JoinItemsModelBase(Model[str | list[str]]):
    """Normalize string lists into a single joined string.

    Input may already be a string or a list of strings that should be
    joined according to the active join-parameter mixin.
    """
    @classmethod
    def _parse_data(cls: type[_HasJoinParams], data: str | list[str]) -> str:
        if isinstance(data, str):
            return data

        return _join_items(cls, data)

JoinLinesModel

Bases: _JoinByNewlineParamsMixin, JoinItemsModelBase


              flowchart BT
              omnipy.components.raw.models.JoinLinesModel[JoinLinesModel]
              omnipy.components.raw.models._JoinByNewlineParamsMixin[_JoinByNewlineParamsMixin]
              omnipy.components.raw.models.JoinItemsModelBase[JoinItemsModelBase]
              omnipy.data.model.Model[Model]
              omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
              omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
              omnipy.data._data_class_creator.DataClassBase[DataClassBase]

                              omnipy.components.raw.models._JoinByNewlineParamsMixin --> omnipy.components.raw.models.JoinLinesModel
                
                omnipy.components.raw.models.JoinItemsModelBase --> omnipy.components.raw.models.JoinLinesModel
                                omnipy.data.model.Model --> omnipy.components.raw.models.JoinItemsModelBase
                                omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
                                omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
                

                omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
                
                omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
                




              click omnipy.components.raw.models.JoinLinesModel href "" "omnipy.components.raw.models.JoinLinesModel"
              click omnipy.components.raw.models._JoinByNewlineParamsMixin href "" "omnipy.components.raw.models._JoinByNewlineParamsMixin"
              click omnipy.components.raw.models.JoinItemsModelBase href "" "omnipy.components.raw.models.JoinItemsModelBase"
              click omnipy.data.model.Model href "" "omnipy.data.model.Model"
              click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
              click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
              click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
            

Join items into newline-delimited text.

This variant is useful for reconstructing multi-line text from an ordered list of line fragments.

ATTRIBUTE DESCRIPTION
adjust

Source code in src/omnipy/components/raw/models.py
class JoinLinesModel(_JoinByNewlineParamsMixin, JoinItemsModelBase):
    """Join items into newline-delimited text.

    This variant is useful for reconstructing multi-line text from an ordered
    list of line fragments.
    """

    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
)

JoinSubitemsToItemsModel

Bases: _JoinByCommaParamsMixin, JoinSubitemsToItemsModelBase


              flowchart BT
              omnipy.components.raw.models.JoinSubitemsToItemsModel[JoinSubitemsToItemsModel]
              omnipy.components.raw.models._JoinByCommaParamsMixin[_JoinByCommaParamsMixin]
              omnipy.components.raw.models.JoinSubitemsToItemsModelBase[JoinSubitemsToItemsModelBase]
              omnipy.data.model.Model[Model]
              omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
              omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
              omnipy.data._data_class_creator.DataClassBase[DataClassBase]

                              omnipy.components.raw.models._JoinByCommaParamsMixin --> omnipy.components.raw.models.JoinSubitemsToItemsModel
                
                omnipy.components.raw.models.JoinSubitemsToItemsModelBase --> omnipy.components.raw.models.JoinSubitemsToItemsModel
                                omnipy.data.model.Model --> omnipy.components.raw.models.JoinSubitemsToItemsModelBase
                                omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
                                omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
                

                omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
                
                omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
                




              click omnipy.components.raw.models.JoinSubitemsToItemsModel href "" "omnipy.components.raw.models.JoinSubitemsToItemsModel"
              click omnipy.components.raw.models._JoinByCommaParamsMixin href "" "omnipy.components.raw.models._JoinByCommaParamsMixin"
              click omnipy.components.raw.models.JoinSubitemsToItemsModelBase href "" "omnipy.components.raw.models.JoinSubitemsToItemsModelBase"
              click omnipy.data.model.Model href "" "omnipy.data.model.Model"
              click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
              click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
              click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
            

Join nested subitem lists into flat comma-delimited items.

This model accepts a list of lists and joins each inner list into one string item.

ATTRIBUTE DESCRIPTION
adjust

Source code in src/omnipy/components/raw/models.py
class JoinSubitemsToItemsModel(_JoinByCommaParamsMixin, JoinSubitemsToItemsModelBase):
    """Join nested subitem lists into flat comma-delimited items.

    This model accepts a list of lists and joins each inner list into one
    string item.
    """

    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
)

JoinSubitemsToItemsModelBase

Bases: Model[list[str] | list[list[str]]]


              flowchart BT
              omnipy.components.raw.models.JoinSubitemsToItemsModelBase[JoinSubitemsToItemsModelBase]
              omnipy.data.model.Model[Model]
              omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
              omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
              omnipy.data._data_class_creator.DataClassBase[DataClassBase]

                              omnipy.data.model.Model --> omnipy.components.raw.models.JoinSubitemsToItemsModelBase
                                omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
                                omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
                

                omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
                
                omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
                



              click omnipy.components.raw.models.JoinSubitemsToItemsModelBase href "" "omnipy.components.raw.models.JoinSubitemsToItemsModelBase"
              click omnipy.data.model.Model href "" "omnipy.data.model.Model"
              click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
              click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
              click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
            

Normalize nested string lists into a flat list of joined items.

Input may already be a flat list of strings or nested lists where each sublist should be joined into one string item.

Source code in src/omnipy/components/raw/models.py
class JoinSubitemsToItemsModelBase(Model[list[str] | list[list[str]]]):
    """Normalize nested string lists into a flat list of joined items.

    Input may already be a flat list of strings or nested lists where each
    sublist should be joined into one string item.
    """
    @classmethod
    def _parse_data(cls: type[_HasJoinParams], data: list[str] | list[list[str]]) -> list[str]:
        if isinstance(data, list) and (len(data) == 0 or not isinstance(data[0], list)):
            return cast(list[str], data)

        return [_join_items(cls, cast(list[str], cols)) for cols in data]

ListOfNestedListsOfStrModel

Bases: Model[list[_NestedListsOfStrT]], Generic[_NestedListsOfStrT]


              flowchart BT
              omnipy.components.raw.models.ListOfNestedListsOfStrModel[ListOfNestedListsOfStrModel]
              omnipy.data.model.Model[Model]
              omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
              omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
              omnipy.data._data_class_creator.DataClassBase[DataClassBase]

                              omnipy.data.model.Model --> omnipy.components.raw.models.ListOfNestedListsOfStrModel
                                omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
                                omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
                

                omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
                
                omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
                



              click omnipy.components.raw.models.ListOfNestedListsOfStrModel href "" "omnipy.components.raw.models.ListOfNestedListsOfStrModel"
              click omnipy.data.model.Model href "" "omnipy.data.model.Model"
              click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
              click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
              click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
            

Represent lists that recursively contain nested string lists.

This generic wrapper supports recursive string-list type composition used by nested split/join models.

Source code in src/omnipy/components/raw/models.py
class ListOfNestedListsOfStrModel(
        Model[list[_NestedListsOfStrT]],
        Generic[_NestedListsOfStrT],
):
    """Represent lists that recursively contain nested string lists.

    This generic wrapper supports recursive string-list type composition
    used by nested split/join models.
    """

    ...

MatchItemsModel

Bases: _MatchItemsModel


              flowchart BT
              omnipy.components.raw.models.MatchItemsModel[MatchItemsModel]
              omnipy.components.raw.models._MatchItemsModel[_MatchItemsModel]
              omnipy.data.model.Model[Model]
              omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
              omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
              omnipy.data._data_class_creator.DataClassBase[DataClassBase]
              omnipy.components.raw.models._MatchItemsParamsMixin[_MatchItemsParamsMixin]

                              omnipy.components.raw.models._MatchItemsModel --> omnipy.components.raw.models.MatchItemsModel
                                omnipy.data.model.Model --> omnipy.components.raw.models._MatchItemsModel
                                omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
                                omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
                

                omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
                
                omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
                

                omnipy.components.raw.models._MatchItemsParamsMixin --> omnipy.components.raw.models._MatchItemsModel
                



              click omnipy.components.raw.models.MatchItemsModel href "" "omnipy.components.raw.models.MatchItemsModel"
              click omnipy.components.raw.models._MatchItemsModel href "" "omnipy.components.raw.models._MatchItemsModel"
              click omnipy.data.model.Model href "" "omnipy.data.model.Model"
              click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
              click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
              click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
              click omnipy.components.raw.models._MatchItemsParamsMixin href "" "omnipy.components.raw.models._MatchItemsParamsMixin"
            

Filter a list of strings with configurable predicate functions.

Matching behavior is controlled by configured predicate callables, optional inversion, and all-vs-any composition semantics.

ATTRIBUTE DESCRIPTION
adjust

Source code in src/omnipy/components/raw/models.py
class MatchItemsModel(_MatchItemsModel):
    """Filter a list of strings with configurable predicate functions.

    Matching behavior is controlled by configured predicate callables, optional
    inversion, and all-vs-any composition semantics.
    """

    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)

NestedJoinItemsModel

Bases: _NestedJoinItemsModel


              flowchart BT
              omnipy.components.raw.models.NestedJoinItemsModel[NestedJoinItemsModel]
              omnipy.components.raw.models._NestedJoinItemsModel[_NestedJoinItemsModel]
              omnipy.data.model.Model[Model]
              omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
              omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
              omnipy.data._data_class_creator.DataClassBase[DataClassBase]
              omnipy.components.raw.models._NestedItemsParamsMixin[_NestedItemsParamsMixin]

                              omnipy.components.raw.models._NestedJoinItemsModel --> omnipy.components.raw.models.NestedJoinItemsModel
                                omnipy.data.model.Model --> omnipy.components.raw.models._NestedJoinItemsModel
                                omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
                                omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
                

                omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
                
                omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
                

                omnipy.components.raw.models._NestedItemsParamsMixin --> omnipy.components.raw.models._NestedJoinItemsModel
                



              click omnipy.components.raw.models.NestedJoinItemsModel href "" "omnipy.components.raw.models.NestedJoinItemsModel"
              click omnipy.components.raw.models._NestedJoinItemsModel href "" "omnipy.components.raw.models._NestedJoinItemsModel"
              click omnipy.data.model.Model href "" "omnipy.data.model.Model"
              click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
              click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
              click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
              click omnipy.components.raw.models._NestedItemsParamsMixin href "" "omnipy.components.raw.models._NestedItemsParamsMixin"
            

Recursively join nested string lists using a delimiter hierarchy.

Delimiters are applied by nesting level to collapse structured list content into a single string.

ATTRIBUTE DESCRIPTION
adjust

Source code in src/omnipy/components/raw/models.py
class NestedJoinItemsModel(_NestedJoinItemsModel):
    """Recursively join nested string lists using a delimiter hierarchy.

    Delimiters are applied by nesting level to collapse structured list content
    into a single string.
    """

    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,
)

NestedListsOfStrModel

Bases: Model[NestedListsOfStr]


              flowchart BT
              omnipy.components.raw.models.NestedListsOfStrModel[NestedListsOfStrModel]
              omnipy.data.model.Model[Model]
              omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
              omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
              omnipy.data._data_class_creator.DataClassBase[DataClassBase]

                              omnipy.data.model.Model --> omnipy.components.raw.models.NestedListsOfStrModel
                                omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
                                omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
                

                omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
                
                omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
                



              click omnipy.components.raw.models.NestedListsOfStrModel href "" "omnipy.components.raw.models.NestedListsOfStrModel"
              click omnipy.data.model.Model href "" "omnipy.data.model.Model"
              click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
              click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
              click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
            

Represent either a string or recursively nested lists of strings.

This union model normalizes recursive list/string input before nested split and join transformations.

Source code in src/omnipy/components/raw/models.py
class NestedListsOfStrModel(Model[NestedListsOfStr]):
    """Represent either a string or recursively nested lists of strings.

    This union model normalizes recursive list/string input before nested split
    and join transformations.
    """

    ...

NestedSplitToItemsModel

Bases: _NestedSplitToItemsModel


              flowchart BT
              omnipy.components.raw.models.NestedSplitToItemsModel[NestedSplitToItemsModel]
              omnipy.components.raw.models._NestedSplitToItemsModel[_NestedSplitToItemsModel]
              omnipy.data.model.Model[Model]
              omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
              omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
              omnipy.data._data_class_creator.DataClassBase[DataClassBase]
              omnipy.components.raw.models._NestedItemsParamsMixin[_NestedItemsParamsMixin]

                              omnipy.components.raw.models._NestedSplitToItemsModel --> omnipy.components.raw.models.NestedSplitToItemsModel
                                omnipy.data.model.Model --> omnipy.components.raw.models._NestedSplitToItemsModel
                                omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
                                omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
                

                omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
                
                omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
                

                omnipy.components.raw.models._NestedItemsParamsMixin --> omnipy.components.raw.models._NestedSplitToItemsModel
                



              click omnipy.components.raw.models.NestedSplitToItemsModel href "" "omnipy.components.raw.models.NestedSplitToItemsModel"
              click omnipy.components.raw.models._NestedSplitToItemsModel href "" "omnipy.components.raw.models._NestedSplitToItemsModel"
              click omnipy.data.model.Model href "" "omnipy.data.model.Model"
              click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
              click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
              click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
              click omnipy.components.raw.models._NestedItemsParamsMixin href "" "omnipy.components.raw.models._NestedItemsParamsMixin"
            

Recursively split string content using a delimiter hierarchy.

Delimiters are applied level by level so text can be transformed into a nested list shape.

ATTRIBUTE DESCRIPTION
adjust

Source code in src/omnipy/components/raw/models.py
class NestedSplitToItemsModel(_NestedSplitToItemsModel):
    """Recursively split string content using a delimiter hierarchy.

    Delimiters are applied level by level so text can be transformed into a
    nested list shape.
    """

    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,
)

SplitItemsToSubitemsModel

Bases: _SplitByCommaParamsMixin, SplitItemsToSubitemsModelBase


              flowchart BT
              omnipy.components.raw.models.SplitItemsToSubitemsModel[SplitItemsToSubitemsModel]
              omnipy.components.raw.models._SplitByCommaParamsMixin[_SplitByCommaParamsMixin]
              omnipy.components.raw.models.SplitItemsToSubitemsModelBase[SplitItemsToSubitemsModelBase]
              omnipy.data.model.Model[Model]
              omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
              omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
              omnipy.data._data_class_creator.DataClassBase[DataClassBase]

                              omnipy.components.raw.models._SplitByCommaParamsMixin --> omnipy.components.raw.models.SplitItemsToSubitemsModel
                
                omnipy.components.raw.models.SplitItemsToSubitemsModelBase --> omnipy.components.raw.models.SplitItemsToSubitemsModel
                                omnipy.data.model.Model --> omnipy.components.raw.models.SplitItemsToSubitemsModelBase
                                omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
                                omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
                

                omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
                
                omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
                




              click omnipy.components.raw.models.SplitItemsToSubitemsModel href "" "omnipy.components.raw.models.SplitItemsToSubitemsModel"
              click omnipy.components.raw.models._SplitByCommaParamsMixin href "" "omnipy.components.raw.models._SplitByCommaParamsMixin"
              click omnipy.components.raw.models.SplitItemsToSubitemsModelBase href "" "omnipy.components.raw.models.SplitItemsToSubitemsModelBase"
              click omnipy.data.model.Model href "" "omnipy.data.model.Model"
              click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
              click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
              click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
            

Split each item into comma-delimited subitems.

This model accepts either pre-split nested lists or a list of text items and returns a two-dimensional list representation.

ATTRIBUTE DESCRIPTION
adjust

Source code in src/omnipy/components/raw/models.py
class SplitItemsToSubitemsModel(_SplitByCommaParamsMixin, SplitItemsToSubitemsModelBase):
    """Split each item into comma-delimited subitems.

    This model accepts either pre-split nested lists or a list of text items
    and returns a two-dimensional list representation.
    """

    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
)

SplitItemsToSubitemsModelBase

Bases: Model[list[list[str]] | list[str] | list[StrModel]]


              flowchart BT
              omnipy.components.raw.models.SplitItemsToSubitemsModelBase[SplitItemsToSubitemsModelBase]
              omnipy.data.model.Model[Model]
              omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
              omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
              omnipy.data._data_class_creator.DataClassBase[DataClassBase]

                              omnipy.data.model.Model --> omnipy.components.raw.models.SplitItemsToSubitemsModelBase
                                omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
                                omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
                

                omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
                
                omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
                



              click omnipy.components.raw.models.SplitItemsToSubitemsModelBase href "" "omnipy.components.raw.models.SplitItemsToSubitemsModelBase"
              click omnipy.data.model.Model href "" "omnipy.data.model.Model"
              click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
              click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
              click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
            

Normalize input into a two-dimensional list of string items.

Input may be provided as already nested lists or as a list of strings that should each be split into subitems.

Source code in src/omnipy/components/raw/models.py
class SplitItemsToSubitemsModelBase(Model[list[list[str]] | list[str] | list[StrModel]]):
    """Normalize input into a two-dimensional list of string items.

    Input may be provided as already nested lists or as a list of strings
    that should each be split into subitems.
    """
    @classmethod
    def _parse_data(cls: type[_HasSplitParams],
                    data: list[list[str]] | list[str] | list[StrModel]) -> list[list[str]]:
        if isinstance(data, list) and (len(data) == 0 or isinstance(data[0], list)):
            return cast(list[list[str]], data)

        return [_split_line(cls, cast(str, line)) for line in data]

SplitLinesToColumnsByCommaModel

Bases: _SplitByCommaParamsMixin, SplitItemsToSubitemsModelBase


              flowchart BT
              omnipy.components.raw.models.SplitLinesToColumnsByCommaModel[SplitLinesToColumnsByCommaModel]
              omnipy.components.raw.models._SplitByCommaParamsMixin[_SplitByCommaParamsMixin]
              omnipy.components.raw.models.SplitItemsToSubitemsModelBase[SplitItemsToSubitemsModelBase]
              omnipy.data.model.Model[Model]
              omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
              omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
              omnipy.data._data_class_creator.DataClassBase[DataClassBase]

                              omnipy.components.raw.models._SplitByCommaParamsMixin --> omnipy.components.raw.models.SplitLinesToColumnsByCommaModel
                
                omnipy.components.raw.models.SplitItemsToSubitemsModelBase --> omnipy.components.raw.models.SplitLinesToColumnsByCommaModel
                                omnipy.data.model.Model --> omnipy.components.raw.models.SplitItemsToSubitemsModelBase
                                omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
                                omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
                

                omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
                
                omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
                




              click omnipy.components.raw.models.SplitLinesToColumnsByCommaModel href "" "omnipy.components.raw.models.SplitLinesToColumnsByCommaModel"
              click omnipy.components.raw.models._SplitByCommaParamsMixin href "" "omnipy.components.raw.models._SplitByCommaParamsMixin"
              click omnipy.components.raw.models.SplitItemsToSubitemsModelBase href "" "omnipy.components.raw.models.SplitItemsToSubitemsModelBase"
              click omnipy.data.model.Model href "" "omnipy.data.model.Model"
              click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
              click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
              click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
            

Split each line of text into comma-delimited columns.

This model is useful for parsing CSV-like line collections into row/column structures.

ATTRIBUTE DESCRIPTION
adjust

Source code in src/omnipy/components/raw/models.py
class SplitLinesToColumnsByCommaModel(_SplitByCommaParamsMixin, SplitItemsToSubitemsModelBase):
    """Split each line of text into comma-delimited columns.

    This model is useful for parsing CSV-like line collections into row/column
    structures.
    """

    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
)

SplitLinesToColumnsModel

Bases: _SplitByTabParamsMixin, SplitItemsToSubitemsModelBase


              flowchart BT
              omnipy.components.raw.models.SplitLinesToColumnsModel[SplitLinesToColumnsModel]
              omnipy.components.raw.models._SplitByTabParamsMixin[_SplitByTabParamsMixin]
              omnipy.components.raw.models.SplitItemsToSubitemsModelBase[SplitItemsToSubitemsModelBase]
              omnipy.data.model.Model[Model]
              omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
              omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
              omnipy.data._data_class_creator.DataClassBase[DataClassBase]

                              omnipy.components.raw.models._SplitByTabParamsMixin --> omnipy.components.raw.models.SplitLinesToColumnsModel
                
                omnipy.components.raw.models.SplitItemsToSubitemsModelBase --> omnipy.components.raw.models.SplitLinesToColumnsModel
                                omnipy.data.model.Model --> omnipy.components.raw.models.SplitItemsToSubitemsModelBase
                                omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
                                omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
                

                omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
                
                omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
                




              click omnipy.components.raw.models.SplitLinesToColumnsModel href "" "omnipy.components.raw.models.SplitLinesToColumnsModel"
              click omnipy.components.raw.models._SplitByTabParamsMixin href "" "omnipy.components.raw.models._SplitByTabParamsMixin"
              click omnipy.components.raw.models.SplitItemsToSubitemsModelBase href "" "omnipy.components.raw.models.SplitItemsToSubitemsModelBase"
              click omnipy.data.model.Model href "" "omnipy.data.model.Model"
              click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
              click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
              click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
            

Split each line of text into tab-delimited columns.

This model is useful for parsing TSV-like line collections into row/column structures.

ATTRIBUTE DESCRIPTION
adjust

Source code in src/omnipy/components/raw/models.py
class SplitLinesToColumnsModel(_SplitByTabParamsMixin, SplitItemsToSubitemsModelBase):
    """Split each line of text into tab-delimited columns.

    This model is useful for parsing TSV-like line collections into row/column
    structures.
    """

    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


              flowchart BT
              omnipy.components.raw.models.SplitToItemsByTabModel[SplitToItemsByTabModel]
              omnipy.components.raw.models._SplitByTabParamsMixin[_SplitByTabParamsMixin]
              omnipy.components.raw.models.SplitToItemsModelBase[SplitToItemsModelBase]
              omnipy.data.model.Model[Model]
              omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
              omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
              omnipy.data._data_class_creator.DataClassBase[DataClassBase]

                              omnipy.components.raw.models._SplitByTabParamsMixin --> omnipy.components.raw.models.SplitToItemsByTabModel
                
                omnipy.components.raw.models.SplitToItemsModelBase --> omnipy.components.raw.models.SplitToItemsByTabModel
                                omnipy.data.model.Model --> omnipy.components.raw.models.SplitToItemsModelBase
                                omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
                                omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
                

                omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
                
                omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
                




              click omnipy.components.raw.models.SplitToItemsByTabModel href "" "omnipy.components.raw.models.SplitToItemsByTabModel"
              click omnipy.components.raw.models._SplitByTabParamsMixin href "" "omnipy.components.raw.models._SplitByTabParamsMixin"
              click omnipy.components.raw.models.SplitToItemsModelBase href "" "omnipy.components.raw.models.SplitToItemsModelBase"
              click omnipy.data.model.Model href "" "omnipy.data.model.Model"
              click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
              click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
              click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
            

Split tab-delimited text into a flat list of items.

This variant uses tab delimiters and optional stripping behavior inherited from shared split parameters.

ATTRIBUTE DESCRIPTION
adjust

Source code in src/omnipy/components/raw/models.py
class SplitToItemsByTabModel(_SplitByTabParamsMixin, SplitToItemsModelBase):
    """Split tab-delimited text into a flat list of items.

    This variant uses tab delimiters and optional stripping behavior inherited
    from shared split parameters.
    """

    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
)

SplitToItemsModel

Bases: _SplitByCommaParamsMixin, SplitToItemsModelBase


              flowchart BT
              omnipy.components.raw.models.SplitToItemsModel[SplitToItemsModel]
              omnipy.components.raw.models._SplitByCommaParamsMixin[_SplitByCommaParamsMixin]
              omnipy.components.raw.models.SplitToItemsModelBase[SplitToItemsModelBase]
              omnipy.data.model.Model[Model]
              omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
              omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
              omnipy.data._data_class_creator.DataClassBase[DataClassBase]

                              omnipy.components.raw.models._SplitByCommaParamsMixin --> omnipy.components.raw.models.SplitToItemsModel
                
                omnipy.components.raw.models.SplitToItemsModelBase --> omnipy.components.raw.models.SplitToItemsModel
                                omnipy.data.model.Model --> omnipy.components.raw.models.SplitToItemsModelBase
                                omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
                                omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
                

                omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
                
                omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
                




              click omnipy.components.raw.models.SplitToItemsModel href "" "omnipy.components.raw.models.SplitToItemsModel"
              click omnipy.components.raw.models._SplitByCommaParamsMixin href "" "omnipy.components.raw.models._SplitByCommaParamsMixin"
              click omnipy.components.raw.models.SplitToItemsModelBase href "" "omnipy.components.raw.models.SplitToItemsModelBase"
              click omnipy.data.model.Model href "" "omnipy.data.model.Model"
              click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
              click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
              click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
            

Split a delimiter-separated string into items.

By default this variant uses commas as delimiters and strips surrounding whitespace from each item.

ATTRIBUTE DESCRIPTION
adjust

Source code in src/omnipy/components/raw/models.py
class SplitToItemsModel(_SplitByCommaParamsMixin, SplitToItemsModelBase):
    """Split a delimiter-separated string into items.

    By default this variant uses commas as delimiters and strips surrounding
    whitespace from each item.
    """

    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
)

SplitToItemsModelBase

Bases: Model[list[str] | str]


              flowchart BT
              omnipy.components.raw.models.SplitToItemsModelBase[SplitToItemsModelBase]
              omnipy.data.model.Model[Model]
              omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
              omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
              omnipy.data._data_class_creator.DataClassBase[DataClassBase]

                              omnipy.data.model.Model --> omnipy.components.raw.models.SplitToItemsModelBase
                                omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
                                omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
                

                omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
                
                omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
                



              click omnipy.components.raw.models.SplitToItemsModelBase href "" "omnipy.components.raw.models.SplitToItemsModelBase"
              click omnipy.data.model.Model href "" "omnipy.data.model.Model"
              click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
              click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
              click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
            

Normalize text input into a flat list of string items.

Input may already be a list of strings or a single delimited string, which is split according to the active split-parameter mixin.

Source code in src/omnipy/components/raw/models.py
class SplitToItemsModelBase(Model[list[str] | str]):
    """Normalize text input into a flat list of string items.

    Input may already be a list of strings or a single delimited string,
    which is split according to the active split-parameter mixin.
    """
    @classmethod
    def _parse_data(cls: type[_HasSplitParams], data: list[str] | str) -> list[str]:
        if isinstance(data, list):
            return data

        return _split_line(cls, data)

SplitToLinesModel

Bases: _SplitByNewlineParamsMixin, SplitToItemsModelBase


              flowchart BT
              omnipy.components.raw.models.SplitToLinesModel[SplitToLinesModel]
              omnipy.components.raw.models._SplitByNewlineParamsMixin[_SplitByNewlineParamsMixin]
              omnipy.components.raw.models.SplitToItemsModelBase[SplitToItemsModelBase]
              omnipy.data.model.Model[Model]
              omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
              omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
              omnipy.data._data_class_creator.DataClassBase[DataClassBase]

                              omnipy.components.raw.models._SplitByNewlineParamsMixin --> omnipy.components.raw.models.SplitToLinesModel
                
                omnipy.components.raw.models.SplitToItemsModelBase --> omnipy.components.raw.models.SplitToLinesModel
                                omnipy.data.model.Model --> omnipy.components.raw.models.SplitToItemsModelBase
                                omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
                                omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
                

                omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
                
                omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
                




              click omnipy.components.raw.models.SplitToLinesModel href "" "omnipy.components.raw.models.SplitToLinesModel"
              click omnipy.components.raw.models._SplitByNewlineParamsMixin href "" "omnipy.components.raw.models._SplitByNewlineParamsMixin"
              click omnipy.components.raw.models.SplitToItemsModelBase href "" "omnipy.components.raw.models.SplitToItemsModelBase"
              click omnipy.data.model.Model href "" "omnipy.data.model.Model"
              click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
              click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
              click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
            

Split text into a list of lines.

This variant uses newline delimiters by default and can optionally strip each line.

ATTRIBUTE DESCRIPTION
adjust

Source code in src/omnipy/components/raw/models.py
class SplitToLinesModel(_SplitByNewlineParamsMixin, SplitToItemsModelBase):
    """Split text into a list of lines.

    This variant uses newline delimiters by default and can optionally strip
    each line.
    """

    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
)

StrModel

Bases: _StrModel


              flowchart BT
              omnipy.components.raw.models.StrModel[StrModel]
              omnipy.components.raw.models._StrModel[_StrModel]
              omnipy.data.model.Model[Model]
              omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
              omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
              omnipy.data._data_class_creator.DataClassBase[DataClassBase]
              omnipy.components.raw.models._EncodingParamsMixin[_EncodingParamsMixin]

                              omnipy.components.raw.models._StrModel --> omnipy.components.raw.models.StrModel
                                omnipy.data.model.Model --> omnipy.components.raw.models._StrModel
                                omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
                                omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
                

                omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
                
                omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
                

                omnipy.components.raw.models._EncodingParamsMixin --> omnipy.components.raw.models._StrModel
                



              click omnipy.components.raw.models.StrModel href "" "omnipy.components.raw.models.StrModel"
              click omnipy.components.raw.models._StrModel href "" "omnipy.components.raw.models._StrModel"
              click omnipy.data.model.Model href "" "omnipy.data.model.Model"
              click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
              click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
              click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
              click omnipy.components.raw.models._EncodingParamsMixin href "" "omnipy.components.raw.models._EncodingParamsMixin"
            

Store text content with optional bytes-to-string coercion.

This model accepts either str or bytes input. Bytes input is decoded using the configured encoding parameter before storage.

ATTRIBUTE DESCRIPTION
adjust

Source code in src/omnipy/components/raw/models.py
class StrModel(_StrModel):
    """Store text content with optional bytes-to-string coercion.

    This model accepts either ``str`` or ``bytes`` input. Bytes input is
    decoded using the configured ``encoding`` parameter before storage.
    """

    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)

StrictBytesModel

Bases: Model[pyd.StrictBytes]


              flowchart BT
              omnipy.components.raw.models.StrictBytesModel[StrictBytesModel]
              omnipy.data.model.Model[Model]
              omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
              omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
              omnipy.data._data_class_creator.DataClassBase[DataClassBase]

                              omnipy.data.model.Model --> omnipy.components.raw.models.StrictBytesModel
                                omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
                                omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
                

                omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
                
                omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
                



              click omnipy.components.raw.models.StrictBytesModel href "" "omnipy.components.raw.models.StrictBytesModel"
              click omnipy.data.model.Model href "" "omnipy.data.model.Model"
              click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
              click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
              click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
            

Store binary content without string coercion.

Unlike :class:BytesModel, this model only accepts values already provided as bytes-compatible input.

Source code in src/omnipy/components/raw/models.py
class StrictBytesModel(Model[pyd.StrictBytes]):
    """Store binary content without string coercion.

    Unlike :class:`BytesModel`, this model only accepts values already
    provided as bytes-compatible input.
    """

    ...

StrictStrModel

Bases: Model[pyd.StrictStr]


              flowchart BT
              omnipy.components.raw.models.StrictStrModel[StrictStrModel]
              omnipy.data.model.Model[Model]
              omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
              omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
              omnipy.data._data_class_creator.DataClassBase[DataClassBase]

                              omnipy.data.model.Model --> omnipy.components.raw.models.StrictStrModel
                                omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
                                omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
                

                omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
                
                omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
                



              click omnipy.components.raw.models.StrictStrModel href "" "omnipy.components.raw.models.StrictStrModel"
              click omnipy.data.model.Model href "" "omnipy.data.model.Model"
              click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
              click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
              click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
            

Store text content without implicit coercion.

Unlike :class:StrModel, this model only accepts strict string input and does not decode bytes automatically.

Source code in src/omnipy/components/raw/models.py
class StrictStrModel(Model[pyd.StrictStr]):
    """Store text content without implicit coercion.

    Unlike :class:`StrModel`, this model only accepts strict string input
    and does not decode bytes automatically.
    """

    ...