Skip to content

omnipy.shared.protocols.stdlib_ext

Protocol extensions for standard-library style container behavior.

CLASS DESCRIPTION
IsItemSequenceLike

Minimal sequence-like protocol for item containers.

IsItemSequenceLike

Bases: Protocol[_ItemCovT]


              flowchart BT
              omnipy.shared.protocols.stdlib_ext.IsItemSequenceLike[IsItemSequenceLike]

              

              click omnipy.shared.protocols.stdlib_ext.IsItemSequenceLike href "" "omnipy.shared.protocols.stdlib_ext.IsItemSequenceLike"
            

Minimal sequence-like protocol for item containers.

This protocol models indexable and sized containers with membership checks, useful for array/dataframe-style structures that don't implement the full sequence interface.

Source code in src/omnipy/shared/protocols/stdlib_ext.py
@runtime_checkable
class IsItemSequenceLike(Protocol[_ItemCovT]):
    """Minimal sequence-like protocol for item containers.

    This protocol models indexable and sized containers with membership checks,
    useful for array/dataframe-style structures that don't implement the full
    sequence interface.
    """
    @overload
    def __getitem__(self, index: SupportsIndex, /) -> _ItemCovT:
        raise AssumedToBeImplementedException

    @overload
    def __getitem__(self, index: slice, /) -> 'IsItemSequenceLike[_ItemCovT]':
        raise AssumedToBeImplementedException

    def __getitem__(self, index: SupportsIndex | slice,
                    /) -> _ItemCovT | 'IsItemSequenceLike[_ItemCovT]':
        raise AssumedToBeImplementedException

    def __len__(self) -> int:
        raise AssumedToBeImplementedException

    def __contains__(self, value: object, /) -> bool:
        raise AssumedToBeImplementedException

    def __iter__(self) -> Iterator[_ItemCovT]:
        raise AssumedToBeImplementedException