backports
— Python Backports#
This module contains backports to support older Python versions.
Deprecated since version 9.0: The nullcontext context manager; use contextlib.nullcontext
instead. The SimpleQueue queue; use queue.SimpleQueue
instead.
- backports.batched(iterable, n, *, strict=False)[source]#
Batch data from the iterable into tuples of length n.
Note
The last batch may be shorter than n if strict is True or raise a ValueError otherwise.
Example:
>>> i = batched(range(25), 10) >>> print(next(i)) (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) >>> print(next(i)) (10, 11, 12, 13, 14, 15, 16, 17, 18, 19) >>> print(next(i)) (20, 21, 22, 23, 24) >>> print(next(i)) Traceback (most recent call last): ... StopIteration >>> list(batched('ABCD', 2)) [('A', 'B'), ('C', 'D')] >>> list(batched('ABCD', 3, strict=False)) [('A', 'B', 'C'), ('D',)] >>> list(batched('ABCD', 3, strict=True)) Traceback (most recent call last): ... ValueError: batched(): incomplete batch
See also
itertools.batched, backported from Python 3.12.
Added in version 8.2.
Changed in version 9.0: Added strict option, backported from Python 3.13
- Parameters:
n (int) – How many items of the iterable to get in one chunk
strict (bool) – raise a ValueError if the final batch is shorter than n.
- Raises:
ValueError – batched(): incomplete batch
TypeError – n cannot be interpreted as an integer
- Return type:
Generator[tuple]
- backports.pairwise(iterable)[source]#
Return successive overlapping pairs taken from the input iterable.
See also
itertools.pairwise, backported from Python 3.10.
Added in version 7.6.
- backports.removeprefix(string, prefix)[source]#
Remove prefix from a string or return a copy otherwise.
>>> removeprefix('TestHook', 'Test') 'Hook' >>> removeprefix('BaseTestCase', 'Test') 'BaseTestCase'
See also
str.removeprefix, backported from Python 3.9.
Added in version 5.4.
- Parameters:
string (str)
prefix (str)
- Return type:
str
- backports.removesuffix(string, suffix)[source]#
Remove suffix from a string or return a copy otherwise.
>>> removesuffix('MiscTests', 'Tests') 'Misc' >>> removesuffix('TmpDirMixin', 'Tests') 'TmpDirMixin'
See also
str.removesuffix, backported from Python 3.9.
Added in version 5.4.
- Parameters:
string (str)
suffix (str)
- Return type:
str