As of Python 3.13, itertools.batched has a strict parameter that defaults to False. By default, the batches might not be of the same size, which may cause subtle bugs. Whenstrict=True, it raises ValueError if the final batch is not the same size as the rest.
This seems analogous to the existing rule B905 which requires an explicit strict= parameter for zip. Hence, I think it makes sense if there is a similar rule for itertools.batched.
I also created an issueflake8-bugbear which seems like a natural place for the rule given the similarity to B905.
As of Python 3.13,
itertools.batched
has astrict
parameter that defaults toFalse
. By default, the batches might not be of the same size, which may cause subtle bugs. Whenstrict=True
, it raisesValueError
if the final batch is not the same size as the rest.This seems analogous to the existing rule
B905
which requires an explicitstrict=
parameter forzip
. Hence, I think it makes sense if there is a similar rule foritertools.batched
.I also created an issue
flake8-bugbear
which seems like a natural place for the rule given the similarity toB905
.Searched keywords:
itertools.batched
,itertools
,batched