datalad_next.itertools

Various iterators, e.g., for subprocess pipelining and output processing

align_pattern(iterable, pattern)

Yield data chunks that contain a complete pattern, if it is present

decode_bytes(iterable[, encoding, ...])

Decode bytes in an iterable into strings

itemize(iterable, sep, *[, keep_ends])

Yields complete items (only), assembled from an iterable

load_json(iterable)

Convert items yielded by iterable into JSON objects and yield them

load_json_with_flag(iterable)

Convert items from iterable into JSON objects and a success flag

route_out(iterable, data_store, splitter)

Route data around the consumer of this iterable

route_in(iterable, data_store, joiner)

Yield previously rerouted data to the consumer