extended_data.containers.sequences

Extended sequence containers built on Tier 1 primitives.

Module Contents

Classes

ExtendedList

List wrapper with chainable primitive operations.

ExtendedTuple

Tuple wrapper with immutable chainable sequence operations.

ExtendedSet

Set wrapper with explicit chainable operations.

Data

T

U

API

extended_data.containers.sequences.T = 'TypeVar(...)'
extended_data.containers.sequences.U = 'TypeVar(...)'
class extended_data.containers.sequences.ExtendedList(initlist: collections.abc.Iterable[extended_data.containers.sequences.T] | None = None)

Bases: collections.UserList[extended_data.containers.sequences.T], extended_data.containers.data.ExtendedData

List wrapper with chainable primitive operations.

Initialization

Initialize the extended list.

static _wrap_item(item: extended_data.containers.sequences.T) extended_data.containers.sequences.T

Promote nested built-in containers to extended containers.

append(item: extended_data.containers.sequences.T) extended_data.containers.sequences.ExtendedList[extended_data.containers.sequences.T]

Append a value while preserving extended nested containers.

extend(other: collections.abc.Iterable[extended_data.containers.sequences.T]) extended_data.containers.sequences.ExtendedList[extended_data.containers.sequences.T]

Extend values while preserving extended nested containers.

insert(i: int, item: extended_data.containers.sequences.T) extended_data.containers.sequences.ExtendedList[extended_data.containers.sequences.T]

Insert a value while preserving extended nested containers.

flatten() extended_data.containers.sequences.ExtendedList[Any]

Return a recursively flattened copy.

compact() extended_data.containers.sequences.ExtendedList[extended_data.containers.sequences.T]

Return a copy without values considered empty.

map(func: collections.abc.Callable[[extended_data.containers.sequences.T], extended_data.containers.sequences.U]) extended_data.containers.sequences.ExtendedList[extended_data.containers.sequences.U]

Return a copy with a callable applied to each item.

filter(predicate: collections.abc.Callable[[extended_data.containers.sequences.T], bool]) extended_data.containers.sequences.ExtendedList[extended_data.containers.sequences.T]

Return a copy containing items accepted by a predicate.

filter_values(*, allowlist: collections.abc.Iterable[extended_data.containers.sequences.T] | None = None, denylist: collections.abc.Iterable[extended_data.containers.sequences.T] | None = None) extended_data.containers.sequences.ExtendedList[extended_data.containers.sequences.T]

Return a copy filtered by explicit allowed and denied values.

split_by_type(*, primitive_only: bool = False) extended_data.containers.mappings.ExtendedDict

Return values grouped by type name.

first_non_empty() extended_data.containers.sequences.T | None

Return the first value not considered empty.

zipmap(values: collections.abc.Iterable[str]) extended_data.containers.mappings.ExtendedDict

Return an extended mapping from this list’s values to provided values.

reconstruct_special_types(*, fail_silently: bool = False) extended_data.containers.sequences.ExtendedList[Any]

Return a copy with string-like special values reconstructed.

to_export_safe(*, export_to_yaml: bool = False) Any

Return this list converted to export-safe primitive data.

wrap_for_export(allow_encoding: bool | str = True, **format_opts: Any) str

Return this list wrapped as an encoded export string.

unique() extended_data.containers.sequences.ExtendedList[extended_data.containers.sequences.T]

Return a copy with duplicate values removed while preserving order.

class extended_data.containers.sequences.ExtendedTuple(values: collections.abc.Iterable[extended_data.containers.sequences.T] | None = None)

Bases: tuple[extended_data.containers.sequences.T, ], extended_data.containers.data.ExtendedData

Tuple wrapper with immutable chainable sequence operations.

Initialization

Consume the factory marker after ExtendedData promotion.

static _wrap_item(item: extended_data.containers.sequences.T) extended_data.containers.sequences.T

Promote nested built-in containers to extended containers.

flatten() extended_data.containers.sequences.ExtendedTuple[Any]

Return a recursively flattened tuple copy.

compact() extended_data.containers.sequences.ExtendedTuple[extended_data.containers.sequences.T]

Return a copy without values considered empty.

map(func: collections.abc.Callable[[extended_data.containers.sequences.T], extended_data.containers.sequences.U]) extended_data.containers.sequences.ExtendedTuple[extended_data.containers.sequences.U]

Return a copy with a callable applied to each item.

filter(predicate: collections.abc.Callable[[extended_data.containers.sequences.T], bool]) extended_data.containers.sequences.ExtendedTuple[extended_data.containers.sequences.T]

Return a copy containing items accepted by a predicate.

unique() extended_data.containers.sequences.ExtendedTuple[extended_data.containers.sequences.T]

Return a copy with duplicate values removed while preserving order.

split_by_type(*, primitive_only: bool = False) extended_data.containers.mappings.ExtendedDict

Return values grouped by type name while keeping tuple-shaped groups.

first_non_empty() extended_data.containers.sequences.T | None

Return the first value not considered empty.

zipmap(values: collections.abc.Iterable[str]) extended_data.containers.mappings.ExtendedDict

Return an extended mapping from this tuple’s values to provided values.

reconstruct_special_types(*, fail_silently: bool = False) extended_data.containers.sequences.ExtendedTuple[Any]

Return a copy with string-like special values reconstructed.

to_export_safe(*, export_to_yaml: bool = False) Any

Return this tuple converted to export-safe primitive data.

wrap_for_export(allow_encoding: bool | str = True, **format_opts: Any) str

Return this tuple wrapped as an encoded export string.

to_tuple() tuple[extended_data.containers.sequences.T, ...]

Return a plain tuple copy.

class extended_data.containers.sequences.ExtendedSet(values: collections.abc.Iterable[extended_data.containers.sequences.T] | None = None)

Bases: collections.abc.MutableSet[extended_data.containers.sequences.T], extended_data.containers.data.ExtendedData

Set wrapper with explicit chainable operations.

Initialization

Initialize the extended set.

static _wrap_item(item: extended_data.containers.sequences.T) extended_data.containers.sequences.T

Promote nested built-in containers to extended containers.

add(value: extended_data.containers.sequences.T) extended_data.containers.sequences.ExtendedSet[extended_data.containers.sequences.T]

Add a value to the set.

update(*others: collections.abc.Iterable[extended_data.containers.sequences.T]) extended_data.containers.sequences.ExtendedSet[extended_data.containers.sequences.T]

Add values from one or more iterables.

discard(value: extended_data.containers.sequences.T) extended_data.containers.sequences.ExtendedSet[extended_data.containers.sequences.T]

Remove a value from the set if present.

copy() extended_data.containers.sequences.ExtendedSet[extended_data.containers.sequences.T]

Return a shallow copy.

compact() extended_data.containers.sequences.ExtendedSet[extended_data.containers.sequences.T]

Return a copy without values considered empty.

reconstruct_special_types(*, fail_silently: bool = False) extended_data.containers.sequences.ExtendedSet[Any]

Return a copy with string-like special values reconstructed.

to_export_safe(*, export_to_yaml: bool = False) Any

Return this set converted to export-safe primitive data.

wrap_for_export(allow_encoding: bool | str = True, **format_opts: Any) str

Return this set wrapped as an encoded export string.

union(*others: collections.abc.Iterable[extended_data.containers.sequences.T]) extended_data.containers.sequences.ExtendedSet[extended_data.containers.sequences.T]

Return a union with other iterables.

intersection(*others: collections.abc.Iterable[extended_data.containers.sequences.T]) extended_data.containers.sequences.ExtendedSet[extended_data.containers.sequences.T]

Return an intersection with other iterables.

difference(*others: collections.abc.Iterable[extended_data.containers.sequences.T]) extended_data.containers.sequences.ExtendedSet[extended_data.containers.sequences.T]

Return a difference against other iterables.

symmetric_difference(other: collections.abc.Iterable[extended_data.containers.sequences.T]) extended_data.containers.sequences.ExtendedSet[extended_data.containers.sequences.T]

Return a symmetric difference against another iterable.

intersection_update(*others: collections.abc.Iterable[extended_data.containers.sequences.T]) None

Keep only values found in all other iterables.

difference_update(*others: collections.abc.Iterable[extended_data.containers.sequences.T]) None

Remove values found in other iterables.

symmetric_difference_update(other: collections.abc.Iterable[extended_data.containers.sequences.T]) None

Replace values with the symmetric difference against another iterable.

to_set() set[extended_data.containers.sequences.T]

Return a plain set copy.